We are currently using JSF 1.2, JBoss Seam 2.0.0. CR2 and EJB 3.0/JPA with Hibernate as the JPA provider. We would like to use the absolute time based expiration eviction policy and so, decided to start using JBoss Cache 2.1.1 (JBoss 4.2.2. GA only supports JBoss Cache 1.4.x which does not support absolute time based expiration eviction policies and I am trying to not write my own custom eviction policy. However, JBoss Cache 2.1.1 does).
We are bundling jgroups (2.4.1 SP3) version in the EAR file\lib directory since Seam and Hibernate and EJB3 need that version. At the same time, I am also including Jboss cache 2.1.1.GA and its dependencies (that has to be JGroups 2.6) inside the WEB-INF/lib directory because I want to only provide access to JBoss Cache to my web-tier components (Action classes in Seam). I am running into issues with having two different versions of JGroups (2.4.1 and 2.6)
I have tried the few following things:
1. I cannot get rid of JGroups 2.4.1 SP3 since by doing that , my ejbs throw exceptions at start up saying: Unable to find stateful session bean. The user must supply a valid JDBC connection.
2. JBoss Cache 2.1.1 does not work with JGroups 2.4.1 SP3. It needs JGroups 2.6.
I am out of options. Please provide some help if possible.
Why do you need to bundle JGroups in your EAR's lib directory? The EJB3 code in AS 4.2.2.GA gets whatever it needs from server/<server_name>/lib and not your EAR's lib directory.