@Override public EmbeddedCacheManager getEmbeddedCacheManager(Properties properties) { Properties settings = new Properties(); String container = properties.getProperty(CACHE_CONTAINER, DEFAULT_CACHE_CONTAINER); settings.setProperty(HibernateSecondLevelCache.CONTAINER, container); if (!Boolean.parseBoolean(properties.getProperty(SHARED, DEFAULT_SHARED))) { HibernateSecondLevelCache.addSecondLevelCacheDependencies(properties, null); settings.setProperty(HibernateSecondLevelCache.CACHE_TYPE, HibernateSecondLevelCache.CACHE_PRIVATE); // Find a suitable service name to represent this session factory instance String name = properties.getProperty(AvailableSettings.SESSION_FACTORY_NAME); if (name != null) { settings.setProperty(HibernateSecondLevelCache.NAME, name); } settings.setProperty(HibernateSecondLevelCache.CACHES, String.join(" ", HibernateSecondLevelCache.findCaches(properties))); } try { return new JipiJapaCacheManager(Notification.startCache(Classification.INFINISPAN, settings)); } catch (CacheException e) { throw e; } catch (Exception e) { throw new CacheException(e); } }
@Override public EmbeddedCacheManager getEmbeddedCacheManager(Properties properties) { Properties settings = new Properties(); String container = properties.getProperty(CACHE_CONTAINER, DEFAULT_CACHE_CONTAINER); settings.setProperty(HibernateSecondLevelCache.CONTAINER, container); if (!Boolean.parseBoolean(properties.getProperty(SHARED, DEFAULT_SHARED))) { HibernateSecondLevelCache.addSecondLevelCacheDependencies(properties, null); settings.setProperty(HibernateSecondLevelCache.CACHE_TYPE, HibernateSecondLevelCache.CACHE_PRIVATE); // Find a suitable service name to represent this session factory instance String name = properties.getProperty(AvailableSettings.SESSION_FACTORY_NAME); if (name != null) { settings.setProperty(HibernateSecondLevelCache.NAME, name); } settings.setProperty(HibernateSecondLevelCache.CACHES, String.join(" ", HibernateSecondLevelCache.findCaches(properties))); } try { return new JipiJapaCacheManager(Notification.startCache(Classification.INFINISPAN, settings)); } catch (CacheException e) { throw e; } catch (Exception e) { throw new CacheException(e); } }
@Override public void addProviderDependencies(PersistenceUnitMetadata pu) { final Properties properties = pu.getProperties(); final String sharedCacheMode = properties.getProperty(SHARED_CACHE_MODE); if ( Classification.NONE.equals(platform.defaultCacheClassification())) { JPA_LOGGER.tracef("second level cache is not supported in platform, ignoring shared cache mode"); pu.setSharedCacheMode(SharedCacheMode.NONE); } // check if 2lc is explicitly disabled which takes precedence over other settings boolean sharedCacheDisabled = SharedCacheMode.NONE.equals(pu.getSharedCacheMode()) || NONE.equals(sharedCacheMode) || SharedCacheMode.UNSPECIFIED.equals(pu.getSharedCacheMode()) || UNSPECIFIED.equals(sharedCacheMode); if (!sharedCacheDisabled && (null == properties.getProperty(AvailableSettings.USE_SECOND_LEVEL_CACHE) || Boolean.parseBoolean(properties.getProperty(AvailableSettings.USE_SECOND_LEVEL_CACHE)))) { HibernateSecondLevelCache.addSecondLevelCacheDependencies(pu.getProperties(), pu.getScopedPersistenceUnitName()); JPA_LOGGER.tracef("second level cache enabled for %s", pu.getScopedPersistenceUnitName()); } else { JPA_LOGGER.tracef("second level cache disabled for %s, pu %s property = %s, pu.getSharedCacheMode = %s", pu.getScopedPersistenceUnitName(), SHARED_CACHE_MODE, sharedCacheMode, pu.getSharedCacheMode().toString()); pu.setSharedCacheMode(SharedCacheMode.NONE); // ensure that Hibernate doesn't try to use the 2lc for UNSPECIFIED } }
@Override public void addProviderDependencies(PersistenceUnitMetadata pu) { final Properties properties = pu.getProperties(); final String sharedCacheMode = properties.getProperty(SHARED_CACHE_MODE); if ( Classification.NONE.equals(platform.defaultCacheClassification())) { if (!SharedCacheMode.NONE.equals(pu.getSharedCacheMode())) { JPA_LOGGER.tracef("second level cache is not supported in platform, ignoring shared cache mode"); } pu.setSharedCacheMode(SharedCacheMode.NONE); } // check if 2lc is explicitly disabled which takes precedence over other settings boolean sharedCacheDisabled = SharedCacheMode.NONE.equals(pu.getSharedCacheMode()) || NONE.equals(sharedCacheMode); if (!sharedCacheDisabled && Boolean.parseBoolean(properties.getProperty(AvailableSettings.USE_SECOND_LEVEL_CACHE)) || (sharedCacheMode != null && (!NONE.equals(sharedCacheMode))) || (!SharedCacheMode.NONE.equals(pu.getSharedCacheMode()) && (!SharedCacheMode.UNSPECIFIED.equals(pu.getSharedCacheMode())))) { HibernateSecondLevelCache.addSecondLevelCacheDependencies(pu.getProperties(), pu.getScopedPersistenceUnitName()); JPA_LOGGER.tracef("second level cache enabled for %s", pu.getScopedPersistenceUnitName()); } else { JPA_LOGGER.tracef("second level cache disabled for %s, pu %s property = %s, pu.getSharedCacheMode = %s", pu.getScopedPersistenceUnitName(), SHARED_CACHE_MODE, sharedCacheMode, pu.getSharedCacheMode().toString()); } }
@Override public EmbeddedCacheManager getEmbeddedCacheManager(Properties properties) { Properties settings = new Properties(); String container = properties.getProperty(CACHE_CONTAINER, DEFAULT_CACHE_CONTAINER); settings.setProperty(HibernateSecondLevelCache.CONTAINER, container); if (!Boolean.parseBoolean(properties.getProperty(SHARED, DEFAULT_SHARED))) { HibernateSecondLevelCache.addSecondLevelCacheDependencies(properties, null); settings.setProperty(HibernateSecondLevelCache.CACHE_TYPE, HibernateSecondLevelCache.CACHE_PRIVATE); // Find a suitable service name to represent this session factory instance String name = properties.getProperty(AvailableSettings.SESSION_FACTORY_NAME); if (name != null) { settings.setProperty(HibernateSecondLevelCache.NAME, name); } settings.setProperty(HibernateSecondLevelCache.CACHES, String.join(" ", HibernateSecondLevelCache.findCaches(properties))); } try { return new JipiJapaCacheManager(Notification.startCache(Classification.INFINISPAN, settings)); } catch (CacheException e) { throw e; } catch (Exception e) { throw new CacheException(e); } }
@Override public EmbeddedCacheManager getEmbeddedCacheManager(Properties properties) { Properties settings = new Properties(); String container = properties.getProperty(CACHE_CONTAINER, DEFAULT_CACHE_CONTAINER); settings.setProperty(HibernateSecondLevelCache.CONTAINER, container); if (!Boolean.parseBoolean(properties.getProperty(SHARED, DEFAULT_SHARED))) { HibernateSecondLevelCache.addSecondLevelCacheDependencies(properties, null); settings.setProperty(HibernateSecondLevelCache.CACHE_TYPE, HibernateSecondLevelCache.CACHE_PRIVATE); // Find a suitable service name to represent this session factory instance String name = properties.getProperty(AvailableSettings.SESSION_FACTORY_NAME); if (name != null) { settings.setProperty(HibernateSecondLevelCache.NAME, name); } settings.setProperty(HibernateSecondLevelCache.CACHES, String.join(" ", HibernateSecondLevelCache.findCaches(properties))); } try { return new JipiJapaCacheManager(Notification.startCache(Classification.INFINISPAN, settings)); } catch (CacheException e) { throw e; } catch (Exception e) { throw new CacheException(e); } }
@Override public void addProviderDependencies(PersistenceUnitMetadata pu) { final Properties properties = pu.getProperties(); final String sharedCacheMode = properties.getProperty(SHARED_CACHE_MODE); if ( Classification.NONE.equals(platform.defaultCacheClassification())) { JPA_LOGGER.tracef("second level cache is not supported in platform, ignoring shared cache mode"); pu.setSharedCacheMode(SharedCacheMode.NONE); } // check if 2lc is explicitly disabled which takes precedence over other settings boolean sharedCacheDisabled = SharedCacheMode.NONE.equals(pu.getSharedCacheMode()) || NONE.equals(sharedCacheMode); if (!sharedCacheDisabled && (null == properties.getProperty(AvailableSettings.USE_SECOND_LEVEL_CACHE) || Boolean.parseBoolean(properties.getProperty(AvailableSettings.USE_SECOND_LEVEL_CACHE)))) { HibernateSecondLevelCache.addSecondLevelCacheDependencies(pu.getProperties(), pu.getScopedPersistenceUnitName()); JPA_LOGGER.tracef("second level cache enabled for %s", pu.getScopedPersistenceUnitName()); } else { JPA_LOGGER.tracef("second level cache disabled for %s, pu %s property = %s, pu.getSharedCacheMode = %s", pu.getScopedPersistenceUnitName(), SHARED_CACHE_MODE, sharedCacheMode, pu.getSharedCacheMode().toString()); } }
@Override public void addProviderDependencies(PersistenceUnitMetadata pu) { final Properties properties = pu.getProperties(); final String sharedCacheMode = properties.getProperty(SHARED_CACHE_MODE); if ( Classification.NONE.equals(platform.defaultCacheClassification())) { if (!SharedCacheMode.NONE.equals(pu.getSharedCacheMode())) { JPA_LOGGER.tracef("second level cache is not supported in platform, ignoring shared cache mode"); } pu.setSharedCacheMode(SharedCacheMode.NONE); } // check if 2lc is explicitly disabled which takes precedence over other settings boolean sharedCacheDisabled = SharedCacheMode.NONE.equals(pu.getSharedCacheMode()) || NONE.equals(sharedCacheMode); if (!sharedCacheDisabled && Boolean.parseBoolean(properties.getProperty(AvailableSettings.USE_SECOND_LEVEL_CACHE)) || (sharedCacheMode != null && (!NONE.equals(sharedCacheMode))) || (!SharedCacheMode.NONE.equals(pu.getSharedCacheMode()) && (!SharedCacheMode.UNSPECIFIED.equals(pu.getSharedCacheMode())))) { HibernateSecondLevelCache.addSecondLevelCacheDependencies(pu.getProperties(), pu.getScopedPersistenceUnitName()); JPA_LOGGER.tracef("second level cache enabled for %s", pu.getScopedPersistenceUnitName()); } else { JPA_LOGGER.tracef("second level cache disabled for %s, pu %s property = %s, pu.getSharedCacheMode = %s", pu.getScopedPersistenceUnitName(), SHARED_CACHE_MODE, sharedCacheMode, pu.getSharedCacheMode().toString()); } }