@Override public String toString() { return "QueryResultsCache(" + cacheRegion.getName() + ')'; }
private void evictQueryResultRegion(QueryResultsCache cache) { if ( cache == null ) { return; } if ( LOG.isDebugEnabled() ) { LOG.debugf( "Evicting query cache, region: %s", cache.getRegion().getName() ); } cache.clear(); }
@Override public QueryResultsCache getQueryResultsCache(String regionName) throws HibernateException { if ( !getSessionFactory().getSessionFactoryOptions().isQueryCacheEnabled() ) { return null; } if ( regionName == null || regionName.equals( getDefaultQueryResultsCache().getRegion().getName() ) ) { return getDefaultQueryResultsCache(); } final QueryResultsCache existing = namedQueryResultsCacheMap.get( regionName ); if ( existing != null ) { return existing; } return makeQueryResultsRegionAccess( regionName ); }
final SharedSessionContractImplementor session) { if ( DEBUGGING ) { LOG.debugf( "Checking cached query results in region: %s", cacheRegion.getName() );
final SharedSessionContractImplementor session) throws HibernateException { if ( DEBUGGING ) { LOG.debugf( "Caching query results in region: %s; timestamp=%s", cacheRegion.getName(), session.getTransactionStartTimestamp() );
protected void putResultInQueryCache( final SharedSessionContractImplementor session, final QueryParameters queryParameters, final Type[] resultTypes, final QueryResultsCache queryCache, final QueryKey key, final List result) { if ( session.getCacheMode().isPutEnabled() ) { boolean put = queryCache.put( key, result, key.getResultTransformer().getCachedResultTypes( resultTypes ), session ); if ( put && factory.getStatistics().isStatisticsEnabled() ) { factory.getStatistics().queryCachePut( getQueryIdentifier(), queryCache.getRegion().getName() ); } } }
public EnabledCaching(SessionFactoryImplementor sessionFactory) { this.sessionFactory = sessionFactory; this.regionFactory = getSessionFactory().getSessionFactoryOptions().getServiceRegistry().getService( RegionFactory.class ); this.regionFactory.start( sessionFactory.getSessionFactoryOptions(), sessionFactory.getProperties() ); if ( getSessionFactory().getSessionFactoryOptions().isQueryCacheEnabled() ) { final TimestampsRegion timestampsRegion = regionFactory.buildTimestampsRegion( RegionFactory.DEFAULT_UPDATE_TIMESTAMPS_REGION_UNQUALIFIED_NAME, sessionFactory ); timestampsCache = sessionFactory.getSessionFactoryOptions() .getTimestampsCacheFactory() .buildTimestampsCache( this, timestampsRegion ); legacySecondLevelCacheNames.add( timestampsRegion.getName() ); final QueryResultsRegion queryResultsRegion = regionFactory.buildQueryResultsRegion( RegionFactory.DEFAULT_QUERY_RESULTS_REGION_UNQUALIFIED_NAME, sessionFactory ); regionsByName.put( queryResultsRegion.getName(), queryResultsRegion ); defaultQueryResultsCache = new QueryResultsCacheImpl( queryResultsRegion, timestampsCache ); } else { timestampsCache = new TimestampsCacheDisabledImpl(); defaultQueryResultsCache = null; } }
@Override public String toString() { return "StandardQueryCache(" + cacheRegion.getName() + ')'; }
@Override public String toString() { return "StandardQueryCache(" + cacheRegion.getName() + ')'; }
@Override public String toString() { return "QueryResultsCache(" + cacheRegion.getName() + ')'; }
public void destroy() { try { cacheRegion.destroy(); } catch ( Exception e ) { LOG.unableToDestroyQueryCache( cacheRegion.getName(), e.getMessage() ); } }
public void destroy() { try { cacheRegion.destroy(); } catch ( Exception e ) { LOG.unableToDestroyQueryCache( cacheRegion.getName(), e.getMessage() ); } }
public QueryCache getQueryCache(String regionName) throws HibernateException { if ( regionName == null ) { return getQueryCache(); } if ( !settings.isQueryCacheEnabled() ) { return null; } QueryCache currentQueryCache = queryCaches.get( regionName ); if ( currentQueryCache == null ) { synchronized ( allCacheRegions ) { currentQueryCache = queryCaches.get( regionName ); if ( currentQueryCache == null ) { currentQueryCache = settings.getQueryCacheFactory() .getQueryCache( regionName, updateTimestampsCache, settings, properties ); queryCaches.put( regionName, currentQueryCache ); allCacheRegions.put( currentQueryCache.getRegion().getName(), currentQueryCache.getRegion() ); } else { return currentQueryCache; } } } return currentQueryCache; }
public QueryCache getQueryCache(String regionName) throws HibernateException { if ( regionName == null ) { return getQueryCache(); } if ( !settings.isQueryCacheEnabled() ) { return null; } QueryCache currentQueryCache = queryCaches.get( regionName ); if ( currentQueryCache == null ) { synchronized ( allCacheRegions ) { currentQueryCache = queryCaches.get( regionName ); if ( currentQueryCache == null ) { currentQueryCache = settings.getQueryCacheFactory() .getQueryCache( regionName, updateTimestampsCache, settings, properties ); queryCaches.put( regionName, currentQueryCache ); allCacheRegions.put( currentQueryCache.getRegion().getName(), currentQueryCache.getRegion() ); } else { return currentQueryCache; } } } return currentQueryCache; }
private void evictQueryResultRegion(QueryResultsCache cache) { if ( cache == null ) { return; } if ( LOG.isDebugEnabled() ) { LOG.debugf( "Evicting query cache, region: %s", cache.getRegion().getName() ); } cache.clear(); }
@Override public QueryResultsCache getQueryResultsCache(String regionName) throws HibernateException { if ( !getSessionFactory().getSessionFactoryOptions().isQueryCacheEnabled() ) { return null; } if ( regionName == null || regionName.equals( getDefaultQueryResultsCache().getRegion().getName() ) ) { return getDefaultQueryResultsCache(); } final QueryResultsCache existing = namedQueryResultsCacheMap.get( regionName ); if ( existing != null ) { return existing; } return makeQueryResultsRegionAccess( regionName ); }
@Override @SuppressWarnings({ "unchecked" }) public boolean put( final QueryKey key, final List results, final SharedSessionContractImplementor session) throws HibernateException { if ( DEBUGGING ) { LOG.debugf( "Caching query results in region: %s; timestamp=%s", cacheRegion.getName(), session.getTransactionStartTimestamp() ); } final CacheItem cacheItem = new CacheItem( session.getTransactionStartTimestamp(), deepCopy( results ) ); try { session.getEventListenerManager().cachePutStart(); cacheRegion.putIntoCache( key, cacheItem, session ); } finally { session.getEventListenerManager().cachePutEnd(); } return true; }
private void putResultInQueryCache( final SessionImplementor session, final QueryParameters queryParameters, final Type[] resultTypes, final QueryCache queryCache, final QueryKey key, final List result) { if ( session.getCacheMode().isPutEnabled() ) { boolean put = queryCache.put( key, key.getResultTransformer().getCachedResultTypes( resultTypes ), result, queryParameters.isNaturalKeyLookup(), session ); if ( put && factory.getStatistics().isStatisticsEnabled() ) { factory.getStatisticsImplementor() .queryCachePut( getQueryIdentifier(), queryCache.getRegion().getName() ); } } }
private void putResultInQueryCache( final SessionImplementor session, final QueryParameters queryParameters, final Type[] resultTypes, final QueryCache queryCache, final QueryKey key, final List result) { if ( session.getCacheMode().isPutEnabled() ) { boolean put = queryCache.put( key, key.getResultTransformer().getCachedResultTypes( resultTypes ), result, queryParameters.isNaturalKeyLookup(), session ); if ( put && factory.getStatistics().isStatisticsEnabled() ) { factory.getStatisticsImplementor() .queryCachePut( getQueryIdentifier(), queryCache.getRegion().getName() ); } } }