[hibernate-dev] [infinispan-dev] [jboss-as7-dev] AS7-4007 missing Infinispan dependency for clustered JPA second level cache

Galder Zamarreño galder at redhat.com
Wed Mar 7 09:26:42 EST 2012


On Mar 6, 2012, at 10:01 PM, Paul Ferraro wrote:

> ----- Original Message -----
>> </snip>
>> 
>> (***) I still don't fully understand how web apps don't have the same
>> issue as 2LC of not seeing Infinispan classes (Reminder: we're not
>> talking about the contents of the cache, but about the Infinispan
>> classes themselves).
> 
> To reiterate: in the case of web sessions, the cache instance for an application is associated with the classloader of the org.jboss.as.clustering.web.infinispan module.  The AS clustering code shields Infinispan from direct interaction with application objects by storing sessions as MarshalledValues which are eagerly marshalled into byte[] and lazily unmarshalled using an application-specific MarshallingConfiguration.
> This has been the case since AS5, if not earlier (albeit using JBoss Serialization + JBoss Cache + TCCL manipulation).

Paul, that explains how you can deserialize the *contents of the cache*.

My question is different: I'm talking about how, the web app, can see *Infinispan classes*.

In Scott's issue, the web app uses Hibernate but during unmarshalling but it cannot locate Infinispan classes:

07:27:32,225 SEVERE [org.jgroups.blocks.RequestCorrelator] (OOB-20,null) failed unmarshalling buffer into return value: java.lang.ClassNotFoundException: org.infinispan.CacheException from [Module "deployment.stateful.war:main" from Service Module Loader]

I'm trying to understand how come it works for session repl, but it doesn't for 2LC. It seems to me that you should be having the same problem if you cannot plug Infinispan with the ModuleClassResolver.

Let's talk on IRC...
--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache





More information about the hibernate-dev mailing list