We are in the process of setting up a JBoss application server cluster at work using Apache as the load balancer in front of a cluster of JBoss servers running Tomcat.
One thing we are not doing is running in the “all” configuration that ships with the JBoss archive as one of the pre-built configurations. We want clustering but we don’t want to use everything else that is part of the “all” configuration. Sounds reasonable right? Apparently JBoss doesn’t think so.
Little bit of history here. Between release 4.0.3 of JBoss AS and 4.0.5 they changed the way Tomcat clustering works and how it’s packaged. In 4.0.3 you would edit a file called tc5-cluster-service.xml and put it in your deploy directory. In 4.0.5 they have a .sar “file” (it’s really an exploded archive) that has a file call jboss-service.xml, which takes the place of tc5-cluster-service.xml, as well as another file called tc5-cluster.aop, which in turn requires the folder jboss-aop.deployer.
All that is fine. However in the situation where you want to run release 4.0.5 in the config of “default+clustering” where do you find out what you need to add to “default”? The quick answer is that you need both the 4.0.3 AS Guide and chapter 16 which is the clustering guide as well as the 4.0.5 Clustering Guide. Why do you need both? Because JBoss apparently assumes that in 4.0.5 you are running in the “all” configuration, or that you used the installer, neither of which situation fits us. The following short note, which is in the 4.0.3 documentation, is no longer present in the 4.0.5 documentation:
If you are not running from the all configuration, session replication can be enabled by copying deploy/tc5-cluster-service.xml, lib/jgroups.jar and lib/jboss-cache.jar from server/all into your server configuration directory.
I’m still trying to figure out why they would remove this. I can understand updating it since the reference to tc5-cluster-service.xml is no longer valid but the rest of it is still valid and very useful.
At any rate I have now created a document in our internal Confluence wiki to clear this up for our Unix admins. Its ridiculous enough that there is no “official” documention on the JBoss site that specifically talks about how to create your own configuration without using the installer. How about adding that stuff back in guys?