从infinispan wildfly子系统

时间:2016-05-20 09:56:16

标签: wildfly wildfly-8 infinispan wildfly-9 wildfly-10

我对Wildfly下的infinispan子系统感到很困惑,我无法从现有的缓存容器中获取预先配置的缓存。为了可视化问题,我创建了一个在Github上共享的最小示例项目:infinispan-wildfly-test

测试设置创建一个带有两个缓存(x,y)的缓存容器(TEST),将x设置为默认值。当我现在通过资源查找获取EmbeddedCacheManager时,我得到了我期望的容器:

@Resource(lookup = "java:jboss/infinispan/container/TEST")
private EmbeddedCacheManager cacheManager;

但是,当尝试获取缓存(x或y)时,我总是得到一个新配置的配置与我使用CLI创建的配置不匹配,缓存完全取消配置!

关键是我可以确定EmbeddedCacheManager是正确的容器,因为它将Cache x作为默认容器(但未配置),但我在这里缺少什么?如何获得缓存容器的预配置缓存?

那里的所有样本都没有解决这个问题,我不确定这些人是否知道他们获得了一个未配置的缓存。样本始终只显示容器的资源查找和获取默认缓存实例。没有配置检查...

那么有没有人(可能是infinispan的贡献者)知道答案?非常感谢和许多赞赏;)

1 个答案:

答案 0 :(得分:5)

直接注入您的缓存。

@Resource(lookup = "java:jboss/infinispan/cache/TEST/x")
private Cache<?, ?> cacheX;
@Resource(lookup = "java:jboss/infinispan/cache/TEST/y")
private Cache<?, ?> cacheY;