How to set up JBoss with S3_Ping on AWS

amazon s3amazon-web-servicesjboss

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.)

Best Answer

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:

<S3_PING secret_access_key="903rfj04rjg490" access_key="ji3gfo" location="bucketname/>

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.

Related Topic