I am facing difficulty to make far cache pattern work in cluster. I am using JBoss AS 4.2.2 in clustered environment with far cache configured on remote computer as MBean as described in document at
http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossClusteringPatternFarCache
HttpSession is created in far cache on remote computer as expected but if I bringdown node that created httpSession, object from far cache is also removed while other node in cluster is still live. So when other node gets request, it can't failover.
I think I am missing something very basic.
Here is configuration in jboss-web-cluster.sar\META-INF\jboss-service.xml
<?xml version="1.0" encoding="UTF-8"?> <server> <mbean code="org.jboss.cache.aop.TreeCacheAop" name="jboss.cache:service=TomcatClusteringCache"> <depends>jboss:service=Naming</depends> <depends>jboss:service=TransactionManager</depends> <depends>jboss.aop:service=AspectDeployer</depends> <attribute name="TransactionManagerLookupClass">org.jboss.cache.BatchModeTransactionManagerLookup</attribute> <attribute name="IsolationLevel">REPEATABLE_READ</attribute> <attribute name="CacheMode">LOCAL</attribute> <attribute name="ClusterName">Tomcat-${jboss.partition.name:Cluster}</attribute> <attribute name="UseRegionBasedMarshalling">false</attribute> <attribute name="InactiveOnStartup">false</attribute> <attribute name="SyncReplTimeout">20000</attribute> <attribute name="LockAcquisitionTimeout">15000</attribute> <attribute name="CacheLoaderConfiguration"> <config> <shared>true</shared> <cacheloader> <class>org.jboss.cache.loader.tcp.TcpDelegatingCacheLoader</class> <properties> host=172.26.1.7 port=7500 </properties> <async>true</async> <fetchPersistentState>false</fetchPersistentState> <ignoreModifications>false</ignoreModifications> </cacheloader> </config> </attribute> </mbean> </server>
I think you missed the "Important Note" at the top of the wiki page which said this won't work for the distributed HttpSession service. I'm sorry this page is confusing in this way. :-(