我想在我的應用程序中使用Jboss AS
託管Infinispan
,以便我可以使用Jboss Admin console
來管理它。 我試圖基於Infinispan的文檔的以下步驟,Jboss,Infinispan,如何配置Jboss作爲託管緩存管理器
1)創建名爲配置
import javax.annotation.Resource;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.Produces;
import org.infinispan.manager.EmbeddedCacheManager;
public class Config {
@Produces
@ApplicationScoped
@Resource(lookup = "java:jboss/infinispan/test")
private EmbeddedCacheManager defaultCacheManager;
public void printObject() {
System.out.println("defaultCacheManager:" + defaultCacheManager);
}
}
2)創建一個servlet類只是用於製備配置對象並調用printObject()方法
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 3200037917839533696L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doIt(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doIt(req, resp);
}
protected void doIt(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
try {
Config config = new Config();
config.printObject();
} catch (Exception e) {
e.printStackTrace();
}
}
}
3)經由standalone.xml全局配置增加了應用依賴性
<subsystem xmlns="urn:jboss:domain:ee:1.0">
<global-modules>
<module name="org.infinispan" slot="main"/>
<module name="javax.enterprise.api" slot="main"/>
<module name="javax.faces.api" slot="main"/>
<module name="javax.inject.api" slot="main"/>
<module name="javax.annotation.api" slot="main"/>
</global-modules>
</subsystem>
4)從我的應用程序
但是,刪除了所有的Infinispan相關罐子當我嘗試調用printObject()從servel方法是子系統名爲test
<subsystem xmlns="urn:jboss:domain:infinispan:1.2" default-cache-container="test">
<cache-container name="test" default-cache="entity" start="EAGER">
<local-cache name="entity"/>
</cache-container>
</subsystem>
5)增加了新的高速緩存容器打印空
13:37:24206 INFO [標準輸出](HTTP - 127.0.0.1-9090-1)defaultCacheManager:空
爲什麼發生這種情況,如果有任何事情從我身邊漏掉,請糾正我。
請看看我的答案。它正在爲我工作,我也在我的正在運行的應用程序中使用它。讓我知道是否有任何問題,或者您需要根據您的要求進行一些修改。 – Braj