Infinispan, How to configure Jboss As managed cache manager
dinoop.p1 Mar 7, 2014 4:02 AMI am trying to use Jboss AS managed Infinispan in my application, so that I can use Jboss Admin console to manage it.
I have tried the following steps based on Infinispan documentation,
1) Created a class named Config
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) created a servlet just for making Config object and calling printObject() method
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) Added the application dependencies via standalone.xml global configuration
<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)Added new cache container in subsystem named 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)Removed all Infinispan related jars from my application
But, When I try to call the printObject() method from servel it is printing null
13:37:24,206 INFO [stdout] (http--127.0.0.1-9090-1) defaultCacheManager:null
Why it is happening , please correct me if any thing missed from my side.
 
    