I'm looking into running clustered JBoss on Amazon Web Services (AWS).
I'd like to try out S3_PING, i.e. making JBoss use an S3 bucket for dynamic node discovery etc, since no multicast is available. I found a piece of example config XML related to S3_Ping, but I'm not sure where in JBoss installation you're supposed to configure this.
So, what JBoss config files would I need to tweak to get S3_PING working? Can anyone point me to a more complete example?
JBoss 5.1.0 GA. (This is probably more a JGroups/JBoss question than anything else. I've already got the S3 bucket for this set up, so no problem there.)
Perhaps late but wanted to point out that EAP5 does have S3_PING support. As for community distribution JBoss AS 7 has that support (what you already know from Kaitsu's replay) but the feature is now supported.
For EAP, you could go to the official EAP documentation that describes how to enable clustering with the Red Hat EAP AMIs. For JBoss Application Server 7 you may find this thread valuable.
S3_PING still seems to be an experimental feature and that might explain the missing documentation... Anyway, you can configure S3_PING to the jgroups-channelfactory-stacks.xml that is situated in
$JBOSS_HOME/server/all/cluster/jgroups-channelfactory.sar/META-INF/
.See JGroups Channel Protocol Stack Configuration in JBoss 5.1 Clustering Guide for more info on the contents of that file. Sadly, as mentioned before, it doesn't say anything about S3_PING. Basically, you can just replace the PING element with something like this:
You might need to create the S3 bucket by yourself beforehand.
UPDATE: It seems that JBoss 5.1 doesn't work with the newer JGroups versions that have support for S3_PING. By looking at JGroups JIRA, it seems that there won't be any support for newer JGroups versions in JBoss 5.x ever. This means that you have to wait for the JBoss AS 6.0.0 MS3 version to get it, see the issue here. By looking at JBoss AS JIRA, it seems that MS3 won't be released in the near future. :(
UPDATE 2010-03-17: I just noticed that the guys in the JBoss StormGrind project have made S3_PING work and asked more what versions they use. The use JBoss AS 6.0.0-MS2 and JGroups 2.6.13.GA. So, S3_PING was released before 2.8, even though some pages in JBoss site claim otherwise. I haven't yet tested this myself.
S3_PING was added in JGroups 2.6.12 is part of JBoss AS 6.0.0.M2
S3 is great, you should give the CirrAS AMI's a spin, check out the wiki article: http://community.jboss.org/wiki/CirrASRunningOnAmazonEC2 - backend instances use S3_PING for discovery.
For AS5, a viable solution to not having S3_PING would be to use a GossipRouter (included in jgroups) and then using TUNNEL configuration (if you extract the jgroups.jar archive, there are configurations inside for all different options).