[英]inject infinispan cache into wildfly 8.0.0.Final
我試圖在我的應用程序中使用infinispan(6.0)部署在wildfly 8.0.0.Final中的獨立配置(jdk 1.7),但是我在注入方面遇到了一些問題。 從這篇文章開始並在谷歌搜索我有這個sistuation:
在standalone.xml中
<subsystem xmlns="urn:jboss:domain:infinispan:2.0">
...
<cache-container name="my-cache" default-cache="my-cache-default">
<local-cache name="my-cache-default">
</local-cache>
</cache-container>
</subsystem>
和
public class CacheManager {
@Resource(lookup="java:jboss/infinispan/container/my-cache")
private EmbeddedCacheManager myCacheManager;
public Cache<String, String> getCache() {
return myCacheManager.getCache();
}
}
最后在pom.xml中
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<artifactId>maven-ejb-plugin</artifactId>
<version>${version.ejb.plugin}</version>
<configuration>
...
<archive>
<manifestEntries>
<Dependencies>org.infinispan.commons export</Dependencies>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
在我的MANIFEST.MF中產生
Dependencies: org.infinispan.commons export
當我使用getCache()方法時,我有java.lang.NullPointerException,因為myCacheManager屬性為null。 查看管理控制台中的JNDI Bindings選項卡,我注意到,雖然我定義了許多其他資源,如數據源,但沒有與“java:jboss / infinispan / container / my-cache”對應的資源(我應該是默認路徑)。 我還嘗試在緩存容器定義中指定jndi名稱,結果相同。
哪里錯了? 提前致謝
采用
@Resource(lookup="java:jboss/infinispan/container/my-cache") private CacheContainer container;
而不是下面
@Resource(lookup="java:jboss/infinispan/container/my-cache") private EmbeddedCacheManager myCacheManager;
這將為您的緩存容器提供,並在META-INF中添加依賴項org.infinispan export
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.