* If no service discovery is defined, you have the choice of 'config-file' @@ -379,6 +379,8 @@ public class CacheConfiguration { * supports discovery natively for most of the platforms like Kubernets/OpenShift, * AWS, Azure and Google. * + * @param jHipsterProperties the jhipster properties to configure from + * @return the infinispan global configurer */ @Bean public InfinispanGlobalConfigurer globalConfiguration(JHipsterProperties jHipsterProperties) { @@ -441,6 +443,8 @@ public class CacheConfiguration { * * * + * @param jHipsterProperties the jhipster properties to configure from + * @return the infinispan cache configurer */ @Bean public InfinispanCacheConfigurer cacheConfigurer(JHipsterProperties jHipsterProperties) { @@ -449,19 +453,21 @@ public class CacheConfiguration { return manager -> { // initialize application cache - manager.defineConfiguration("local-app-data", new ConfigurationBuilder().clustering().cacheMode(CacheMode.LOCAL) + manager.defineConfiguration("local-app-data", new ConfigurationBuilder() + .clustering().cacheMode(CacheMode.LOCAL) .jmxStatistics().enabled(cacheInfo.isStatsEnabled()) - .eviction().type(EvictionType.COUNT).size(cacheInfo.getLocal().getMaxEntries()).expiration() + .memory().evictionType(EvictionType.COUNT).size(cacheInfo.getLocal().getMaxEntries()).expiration() .lifespan(cacheInfo.getLocal().getTimeToLiveSeconds(), TimeUnit.MINUTES).build()); manager.defineConfiguration("dist-app-data", new ConfigurationBuilder() .clustering().cacheMode(CacheMode.DIST_SYNC).hash().numOwners(cacheInfo.getDistributed().getInstanceCount()) - .jmxStatistics().enabled(cacheInfo.isStatsEnabled()).eviction() - .type(EvictionType.COUNT).size(cacheInfo.getDistributed().getMaxEntries()).expiration().lifespan(cacheInfo.getDistributed() - .getTimeToLiveSeconds(), TimeUnit.MINUTES).build()); - manager.defineConfiguration("repl-app-data", new ConfigurationBuilder().clustering().cacheMode(CacheMode.REPL_SYNC) .jmxStatistics().enabled(cacheInfo.isStatsEnabled()) - .eviction().type(EvictionType.COUNT).size(cacheInfo.getReplicated() - .getMaxEntries()).expiration().lifespan(cacheInfo.getReplicated().getTimeToLiveSeconds(), TimeUnit.MINUTES).build()); + .memory().evictionType(EvictionType.COUNT).size(cacheInfo.getDistributed().getMaxEntries()).expiration() + .lifespan(cacheInfo.getDistributed().getTimeToLiveSeconds(), TimeUnit.MINUTES).build()); + manager.defineConfiguration("repl-app-data", new ConfigurationBuilder() + .clustering().cacheMode(CacheMode.REPL_SYNC) + .jmxStatistics().enabled(cacheInfo.isStatsEnabled()) + .memory().evictionType(EvictionType.COUNT).size(cacheInfo.getReplicated().getMaxEntries()).expiration() + .lifespan(cacheInfo.getReplicated().getTimeToLiveSeconds(), TimeUnit.MINUTES).build()); // initialize Hibernate L2 cache manager.defineConfiguration("entity", new ConfigurationBuilder().clustering().cacheMode(CacheMode.INVALIDATION_SYNC) @@ -495,6 +501,9 @@ public class CacheConfiguration { *
* jCache stats are at instance level. If you need stats at clustering level, then it needs to be retrieved from MBX:org.infinispan * + * @param cacheManager the embedded cache manager + * @param jHipsterProperties the jhipster properties to configure from + * @return the jcache manager */ @Bean public JCacheManager getJCacheManager(EmbeddedCacheManager cacheManager, JHipsterProperties jHipsterProperties){ diff --git a/generators/server/templates/src/main/java/package/config/CacheFactoryConfiguration.java.ejs b/generators/server/templates/src/main/java/package/config/CacheFactoryConfiguration.java.ejs index 2b053c371ef7..ee8cb2824f77 100644 --- a/generators/server/templates/src/main/java/package/config/CacheFactoryConfiguration.java.ejs +++ b/generators/server/templates/src/main/java/package/config/CacheFactoryConfiguration.java.ejs @@ -18,8 +18,8 @@ -%> package <%=packageName%>.config; -import org.hibernate.cache.infinispan.InfinispanRegionFactory; import org.hibernate.service.ServiceRegistry; +import org.infinispan.hibernate.cache.InfinispanRegionFactory; import org.infinispan.manager.EmbeddedCacheManager; import java.util.Properties; @@ -39,7 +39,7 @@ public class CacheFactoryConfiguration extends InfinispanRegionFactory { private static final long serialVersionUID = 1L; /** - * Defines an Hibernate L2 cache: hibernate-infinispan + * Defines an Hibernate L2 cache: infinispan-hibernate-cache */ @Override protected EmbeddedCacheManager createCacheManager(Properties properties, ServiceRegistry serviceRegistry) { diff --git a/generators/server/templates/src/main/resources/config/application-dev.yml.ejs b/generators/server/templates/src/main/resources/config/application-dev.yml.ejs index c80fdcaaca3b..750aea35d451 100644 --- a/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +++ b/generators/server/templates/src/main/resources/config/application-dev.yml.ejs @@ -170,7 +170,7 @@ spring: hibernate.cache.inifinispan.statistics: true hibernate.cache.use_minimal_puts: true hibernate.cache.infinispan.entity.expiration.lifespan: 3600000 - hibernate.cache.infinispan.entity.eviction.max_entries: 1000 + hibernate.cache.infinispan.entity.memory.size: 1000 hibernate.cache.infinispan.jgroups_cfg: default-configs/default-jgroups-tcp.xml <%_ } _%> <%_ if (cacheProvider === 'hazelcast') { _%> diff --git a/generators/server/templates/src/main/resources/config/application-prod.yml.ejs b/generators/server/templates/src/main/resources/config/application-prod.yml.ejs index 4bdab0aa4c77..f517a91c8ec5 100644 --- a/generators/server/templates/src/main/resources/config/application-prod.yml.ejs +++ b/generators/server/templates/src/main/resources/config/application-prod.yml.ejs @@ -146,7 +146,7 @@ spring: hibernate.cache.inifinispan.statistics: false hibernate.cache.use_minimal_puts: true hibernate.cache.infinispan.entity.expiration.lifespan: 3600000 - hibernate.cache.infinispan.entity.eviction.max_entries: 1000 + hibernate.cache.infinispan.entity.memory.size: 1000 hibernate.cache.infinispan.jgroups_cfg: default-configs/default-jgroups-tcp.xml <%_ } _%> <%_ if (cacheProvider === 'hazelcast') { _%>