Glassfish Infinispan 6.0 CDI和默认配置

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

我在定义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>       

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在创建时没有被使用,而默认的是被创建的。当然,这是有道理的…我很高兴你能做到这一点