JBoss Cache Cluster Problem within JBoss AS 4.0.2
gh_aiyz Aug 29, 2006 12:54 PMHi all, I got a problem when use JBoss Cache 1.4.0 within JBoss AS 4.0.2.
I have two application servers. when they start up, the caches can find each other, and fetch the in-memory status successfully. But when I put an object into cache A, it does not replicate the object to cache B; however, when I remove this object from A, it's also removed from B....
Yes, the insert is not replicated while the removing is replicated successfully.
what's wrong with my configuration? Please help me.
<!-- ==================================================================== -->
<!-- JBoss Cache -->
<!-- ==================================================================== -->
<mbean code="org.jboss.cache.TreeCache" name="jboss.cache:service=V360WebLayerCache">
<depends>jboss:service=Naming</depends>
<depends>jboss:service=TransactionManager</depends>
<attribute name="TransactionManagerLookupClass">
org.jboss.cache.JBossTransactionManagerLookup
</attribute>
<attribute name="IsolationLevel">REPEATABLE_READ</attribute>
<attribute name="CacheMode">REPL_SYNC</attribute>
<attribute name="FetchInMemoryState">true</attribute>
<attribute name="ClusterName">${aa.cache.cluster.name}.web</attribute>
<attribute name="ClusterConfig">
<config>
<UDP mcast_port="${aa.cache.cluster.port}" ip_ttl="64" ip_mcast="true"
mcast_send_buf_size="150000" mcast_recv_buf_size="80000"
ucast_send_buf_size="150000" ucast_recv_buf_size="80000"
loopback="false" />
<PING timeout="2000" num_initial_members="3"
up_thread="false" down_thread="false" />
<MERGE2 min_interval="10000" max_interval="20000" />
<FD shun="true" up_thread="true" down_thread="true" />
<VERIFY_SUSPECT timeout="1500" up_thread="false"
down_thread="false" />
<pbcast.NAKACK gc_lag="50"
retransmit_timeout="600,1200,2400,4800" up_thread="false"
down_thread="false" />
<pbcast.STABLE desired_avg_gossip="20000"
up_thread="false" down_thread="false" />
<UNICAST timeout="600,1200,2400" window_size="100"
min_threshold="10" down_thread="false" />
<FRAG frag_size="8192" down_thread="false"
up_thread="false" />
<pbcast.GMS join_timeout="5000"
join_retry_timeout="2000" shun="true" print_local_addr="true" />
<pbcast.STATE_TRANSFER up_thread="false"
down_thread="false" />
</config>
</attribute>
<attribute name="InitialStateRetrievalTimeout">20000</attribute>
<attribute name="SyncReplTimeout">15000</attribute>
<attribute name="LockAcquisitionTimeout">10000</attribute>
<!--attribute name="EvictionPolicyClass">org.jboss.cache.eviction.LRUPolicy</attribute>
<attribute name="EvictionPolicyConfig">
<config>
<attribute name="wakeUpIntervalSeconds">200</attribute>
<region name="/${aa.cache.web.fid.root}">
<attribute name="maxNodes">${aa.cache.web.fid.maxNode}</attribute>
<attribute name="timeToLiveSeconds">${aa.cache.web.fid.timeToLive}</attribute>
</region>
<region name="/${aa.cache.web.guitext.root}">
<attribute name="maxNodes">${aa.cache.web.guitext.maxNode}</attribute>
<attribute name="timeToLiveSeconds">${aa.cache.web.guitext.timeToLive}</attribute>
</region>
<region name="/${aa.cache.web.bizdomain.root}">
<attribute name="maxNodes">${aa.cache.web.bizdomain.maxNode}</attribute>
<attribute name="timeToLiveSeconds">${aa.cache.web.bizdomain.timeToLive}</attribute>
</region>
<region name="/${aa.cache.web.constant.root}">
<attribute name="maxNodes">${aa.cache.web.constant.maxNode}</attribute>
<attribute name="timeToLiveSeconds">${aa.cache.web.constant.timeToLive}</attribute>
</region>
<region name="/${aa.cache.web.gview.root}">
<attribute name="maxNodes">${aa.cache.web.gview.maxNode}</attribute>
<attribute name="timeToLiveSeconds">${aa.cache.web.gview.timeToLive}</attribute>
</region>
<region name="/${aa.cache.web.general.root}">
<attribute name="maxNodes">${aa.cache.web.general.maxNode}</attribute>
<attribute name="timeToLiveSeconds">${aa.cache.web.general.timeToLive}</attribute>
</region>
</config>
</attribute-->
</mbean>
<!-- ==================================================================== -->
<!-- JBoss Cache JNDI -->
<!-- ==================================================================== -->
<mbean code="org.jboss.invocation.jrmp.server.JRMPProxyFactory"
name="mydomain:service=proxyFactory,type=jrmp,target=factory">
<attribute name="InvokerName">
jboss:service=invoker,type=jrmp
</attribute>
<attribute name="TargetName">
jboss.cache:service=V360WebLayerCache
</attribute>
<attribute name="JndiName">${aa.cache.jndi.name}</attribute>
<attribute name="InvokeTargetMethod">true</attribute>
<attribute name="ExportedInterface">
org.jboss.cache.TreeCacheMBean
</attribute>
<depends>jboss:service=invoker,type=jrmp</depends>
<depends>jboss.cache:service=V360WebLayerCache</depends>
</mbean>
All the ${} variables are in an individual file.