Glassfish Infinispan 6.0 CDI和默认配置
我在定义CDI应用程序(glassfish 4)的配置时遇到问题 我有:Glassfish Infinispan 6.0 CDI和默认配置,glassfish,cdi,infinispan,Glassfish,Cdi,Infinispan,我在定义CDI应用程序(glassfish 4)的配置时遇到问题 我有: @CacheResult(cacheName = "example") public String getSomething(String something){ logger.debug("getSomething "+something); return "this is "+something; } 这与预期的一样,第二次调用不会执行,因为它是缓存的 但是,我想为缓存指定一个配置。我尝试过编写一个i
@CacheResult(cacheName = "example")
public String getSomething(String something){
logger.debug("getSomething "+something);
return "this is "+something;
}
这与预期的一样,第二次调用不会执行,因为它是缓存的
但是,我想为缓存指定一个配置。我尝试过编写一个infinispan.xml文件(在src/main/resources中),但它被忽略了。我还尝试了以下两种方法:
@Produces
@Default
public Configuration defaultEmbeddedCacheConfiguration() {
return new ConfigurationBuilder().expiration().lifespan(3000l)
.eviction()
.strategy(EvictionStrategy.LRU)
.maxEntries(2)
.build();
}
@Produces
@ApplicationScoped
public EmbeddedCacheManager defaultEmbeddedCacheManager() {
return new DefaultCacheManager(defaultEmbeddedCacheConfiguration());
}
但这些方法从未被调用
我也尝试过@ConfigureCache
我的依赖项是:
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-cdi</artifactId>
<version>6.0.2.Final</version>
</dependency>
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-jcache</artifactId>
<version>6.0.2.Final</version>
</dependency>
org.infinispan
英菲尼斯潘cdi
6.0.2.1最终版本
org.infinispan
英菲尼斯潘
6.0.2.1最终版本
有什么想法吗
Thx您确定CDI正在工作吗?在
META-INF
或WEB-INF
文件夹中beans.xml
是否正确?是的,确定。xml包含infinispan拦截器,我可以看到infinispan的跟踪最后,我只需要将EmbeddedCacheManager注入一些bean(我现在使用一个webListener)。问题是这个EmbeddedCacheManager在创建时没有被使用,而默认的是被创建的。当然,这是有道理的…我很高兴你能做到这一点