我在定义CDI应用程序(glassfish 4)的配置时遇到问题。
我有:
@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>
有什么想法吗?
THX