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.

1 comment:

  1. As per Jackrabbit Clustering requirements - following must match, which is not part of your script.

    •Each cluster node needs its own (private) workspace level and version FileSystem (only those within the workspace and versioning configuration; the ones in the repository.xml and workspace.xml file).
    •Each cluster node needs its own (private) Search indexes.

    ReplyDelete