- JBoss Application Server 5.1
- JBoss Cache 3.2 in the all configuration replacing JBoss Cache 3.1 that ships by default with AS 5.1
Enterprise Application Platform
GateIn clustering is developed against JBoss EAP 5.
Shared file system
The JCR server requires to share a portion of its state via the file system. The shared state are the JCR value storage and the JCR index. In order to properly cluster JCR, a shared file system needs to be setup among the cluster nodes.
The default configuration located in the jar file exo.portal.component.common-3.0.0-XYZ.jar under the path conf/configuration-jboss.xml must be copied and edited for clustering setup. The same file is used for the various cluster nodes, let's name it cluster.properties.
Replicated JCR configuration
Value storage configuration
The property gatein.jcr.storage.data.dir must be updated with the path of the shared value storage directory root.
The property gatein.jcr.index.data.dir must be updated with the part of the shared index directory root.
Filter class configuration
The property gatein.jcr.changefilterclass must be changed to the value org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter.
The property gatein.jcr.config.type must be changed to the value cluster.
The cluster needs to use the same shared database configuration. This applies to the JCR datasource as well as the identity datasource. This setup is done at the JNDI level as the gatein datasource is bound by default under the java:jdbcjcr and java:jdbcidm JNDI binding.
- The all configuration must be used, that is achieved with the configuration switch of JBoss AS.
- The cluster setup requires the activation of the cluster profile. Note that we are talking about GateIn profile and not about JBoss AS profile notion. The system property exo.profiles needs to contain the cluster value.
- GateIn needs to use the alternative configuration that was setup in the configuration setup section. The system property exo.properties.url must point to the location of the configuration
run.sh -c all -Dexo.profiles=cluster -Dexo.properties.url=/cluster.properties