Tomcat developers, I have created a plugin for Tomcat 5 that provides scalable session clustering by replicating each session to a single node rather than the whole cluster. The plugin uses the jcluster (http://jcluster.dev.java.net) API for communication, membership and failover, a BSD-licensed set of API’s that is similar to jgroups and has a working implementation that uses jgroups as the impl. (I worked with Bela Ban and others on the jcluster API spec after he and Filip Hanik told me about Tomcat not being able to use jgroups because of the LGPL license.)
The tomcat plugin itself is hosted at https://sourceforge.net/projects/tomcat-jg - the same place Filip developed the full-replication jgroups-based session manager that is now integrated into Tomcat 5. The initial (alpha quality) release of the plugin is available to users and developers as of today; hopefully in the future it can be integrated into the Tomcat source. To download the plugin: go to tomcat-jg site (above) and select tomcat-jcluster package under File Releases. It contains three jar files, plus release notes for setting it up: catalina-ha.jar – the tomcat plugin jcluster.jar – jcluster API jcluster-plugin.jar – jgroups impl of jcluster There are only two source files in the plugin itself (since they extend and make use of existing Tomcat 5 classes). They can be viewed online at: http://cvs.sourceforge.net/viewcvs.py/tomcat-jg/tomcat-javagroups/src/org/apache/catalina/cluster/session/ The jcluster javadoc can be browsed online at https://jcluster.dev.java.net/nonav/javadoc/index.html. It is mostly a set of interfaces that roughly map to jgroups classes like JChannel, PullPushAdapter and RpcDispatcher. (The one exception is the net.jcluster.ha package, which allows state replication and failover for objects and services using configurable policies for backup selection and failover. It does not have a counterpart in jgroups and is the basis for much of the plugin implementation.) I would appreciate feedback from the Tomcat community about the jcluster API itself, as well as the feasibility of using it as the clustering framework for Tomcat down the road. It would actually be very straightforward to write a jcluster implementation that calls the existing Tomcat clustering classes (ClusterSender/Receiver, McastService, etc.), so that plugging in jgroups would be an optional step. I realize this is a lot of information for those of you who did not know about any of this ongoing work, but I’ll be happy to answer any questions you have about jcluster, the plugin, who I am, why I’m doing this and why you should care. Regards, Rob Block --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]