private void startInternalCache ( ) { if ( knownClassesCache == null ) { synchronized ( this ) { if ( knownClassesCache == null ) { internalCacheRegistry . registerInternalCache ( QUERY_KNOWN_CLASSES_CACHE_NAME , getInternalCacheConfig ( ) , EnumSet . of ( InternalCacheRegistry . Flag . PERSISTENT ) ) ; Cache < KeyValuePair < String , Class < ? > > , Boolean > knownClassesCache = SecurityActions . getCache ( cacheManager , QUERY_KNOWN_CLASSES_CACHE_NAME ) ; this . knownClassesCache = knownClassesCache . getAdvancedCache ( ) . withFlags ( Flag . SKIP_LOCKING , Flag . IGNORE_RETURN_VALUES ) ; transactionHelper = new TransactionHelper ( this . knownClassesCache . getTransactionManager ( ) ) ; } } } }
Start the internal cache lazily .