我想在我的应用程序中使用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