My first Infinispan question...create multi cache using CDI.
hantsy Dec 17, 2011 9:41 AMI tried to create a simple example, which using infinispan to store my data, I categoried the data as four types, I want to create 4 cache for different types.
I selected the simple way, creating cache using embeded manager...
I used a Resources class to generate different Configuration for 4 different type of caches.
@ConfigureCache("signup-unconfirmed-cache") // this is the cache name. @UnconfirmedCache // this is the cache qualifier. @Produces @ApplicationScoped public Configuration unconfirmedCacheConfiguration() { return new Configuration().fluent().eviction().strategy(EvictionStrategy.FIFO).maxEntries(10) .build(); } @ConfigureCache("signup-confirmed-cache") // this is the cache name. @ConfirmedCache // this is the cache qualifier. @Produces @ApplicationScoped public Configuration confirmedCacheConfiguration() { return new Configuration().fluent().eviction().strategy(EvictionStrategy.FIFO).maxEntries(10) .build(); } @ConfigureCache("signup-approved-cache") // this is the cache name. @ApprovedCache // this is the cache qualifier. @Produces @ApplicationScoped public Configuration approvedCacheConfiguration() { return new Configuration().fluent().eviction().strategy(EvictionStrategy.FIFO).maxEntries(10) .build(); } @ConfigureCache("signup-denied-cache") // this is the cache name. @DeniedCache // this is the cache qualifier. @Produces @ApplicationScoped public Configuration deniedCacheConfiguration() { return new Configuration().fluent().eviction().strategy(EvictionStrategy.FIFO).maxEntries(10) .build(); }
But when I injected the Cache in the beans, sometime I got the CDI exception form the infinispan,
javax.servlet.ServletException: java.lang.RuntimeException: Exception invoking method [getAdvancedCache] on object [org.infinispan.cdi.AdvancedCacheProducer@14dbc72], using arguments [Manager Enabled alternatives: [] [] Registered contexts: [interface javax.enterprise.context.Dependent, interface javax.enterprise.context.ApplicationScoped, interface javax.enterprise.context.SessionScoped, interface javax.inject.Singleton, interface javax.enterprise.context.RequestScoped, interface javax.enterprise.context.ConversationScoped] Registered beans: 152 Specialized beans: 0 ] javax.faces.webapp.FacesServlet.service(FacesServlet.java:606) org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:67) org.jboss.solder.servlet.exception.CatchExceptionFilter.doFilter(CatchExceptionFilter.java:65) org.jboss.solder.servlet.event.ServletEventBridgeFilter.doFilter(ServletEventBridgeFilter.java:74)
It is strange that the Configuration is decrapted in the infinispan 5.1.0CR1, but I can not find the alternative in the Docuemnt and Getting Started Lab...
I have read the Getting Started Guide, and download the lab example..
My development enviroment is JBoss7.0.2.Final, Infinispan 5.1.0.CR1...can you help me for this ? Thanks.