Sunday, January 02, 2011

Configuring multiple Guvnor instances in a Jackrabbit cluster

We added a new task in drools-ant which helps with configuring multiple Guvnor instances to be able to share their Jackrabbit content. Each Guvnor instance is configured as a node to the underlying Jackrabbit cluster. The ant task itself is pretty simple and can look for example:




In this example we define a 2 node Jackrabbit cluster. All changes/updates on one node will be synchronized across all other nodes in the cluster. The task creates the Jackrabbit repository.xml file for each node and writes them into directories $destinationdir/01/repository.xml and $destinationdir/02/repository.xml respectively.
These configuration files define the node's clustering configuration, for example:




Copy the produced repository.xml files to your Guvnor instances (in $jboss/bin for example or the directory specified for repository.root.directory in drools-guvnor.war/WEB-INF/components.xml) and start them up. You can play with the sync delay value to make sure it fits your needs.

Currently the ant task supports following databases: MySQL, MS SQL, PostgreSQL, and Oracle(9i,10g,11).
You can find more information on Jackrabbit clustering here.

Many thanks to our friend João Paulo Viragine for his help on the PostgreSQL configuration.