Kevan, Joe thanks for your feedback.

I had a reconsider the approach due to many circular dependencies between org.apache.geronimo.tomcat and org.apache.geronimo.tomcat.cluster, which prevent me to easily move the clustering GBeans to a new project. So, I just checked-in a better solution, which is backward compatible: I simply added a tomcat6-no-ha that hides the Tribes classes and upon deployment of WADI clustered applications I replace tomcat6 with tomcat6-no-ha, which avoids the identified classloader clashes.

Thanks,
Gianny

On 03/07/2008, at 7:10 PM, Gianny Damour wrote:

Hello,

I am back from holiday; A quick scan of the mailing lists tells me that the upgrade to WADI 2.0 is causing classloader clashes.

As identified by Jason W. and Kevan, a Tribes class is loaded by two distinct classloaders (tomcat6 and wadi-clustering configuration classloaders), which causes CCE upon message delivery. After having investigated this problem, it seems to me that the best way to fix it is to split the tomcat6 dependencies into two configurations: tomcat6 and tomcat6-tribes. tomcat6-tribes imports the tomcat6 configuration and the tribes dependency. The new tomcat6 configuration is the current tomcat6 configuration minus the tribes dependency. Such a change will break all the configurations defining Tribes clustering GBeans. Users having such configurations will have to redeploy them after having added the tromcat6-tribes configuration.

I tried a backward compatible approach where the tribes dependency was pushed up to a parent configuration. Unfortunately, this change can only work if WADI dependencies are also imported by this new configuration, which is a less ideal approach than the above one.

If no one objects, I intend to check-in this change over the week-end.

Thanks,
Gianny


Reply via email to