[jboss-user] [JBossCache] - Re: ClusteredCacheLoader + LOCAL CacheMode

lovelyliatroim do-not-reply at jboss.com
Tue Dec 11 11:28:37 EST 2007


Ok had a look into 


  | !--  determines whether this cache loader ignores writes - defaults to false. --> 
  | <ignoreModifications>true</ignoreModifications> 
  | 	
  | 

and what it can and cant do.

Here is the config i used 

  | <mbean code="org.jboss.cache.loader.tcp.TcpCacheServer" name="jboss.cache:service=TcpCacheServer">
  | 		  <depends optional-attribute-name="CacheJmxWrapper"
  |                proxy-type="attribute">jboss.cache:service=PriceServerCache</depends>
  |     	<attribute name="BindAddress">${jboss.bind.address:localhost}</attribute>
  | 		<attribute name="Port">7500</attribute>
  | 		<attribute name="MBeanServerName"></attribute>
  | 		  <!--<attribute name="CacheName">jboss.cache:service=TreeCache</attribute>-->
  | 	</mbean>
  | 
Reason for posting that is because twiki needs updating for version 2.0 and this shows how to do it for older versions http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossClusteringPatternFarCache

Anyways if you configure your very first node at startup to refer to a remote TcpDelegateCacheLoader and the other node where it resides isnt started you get a 
anonymous wrote : 
  | org.jboss.cache.CacheException: Unable to start cache loaders
  | 
exception, which is fair enough because the other node is not started but what i didnt expect to happen is that the cache in first node wont be set up, i would have expected the cache loader to fail gracefully and re-try at a later stage to connect but initialisation of the cache would still happen.

So i configured the first start up node not to refer to any other node but just be the TcpCacheServer. I started the second node with config like so


  |  <attribute name="CacheLoaderConfig" replace="false">
  |          <config>
  | 		<cacheloader>
  | 			<class>org.jboss.cache.loader.TcpDelegatingCacheLoader</class>
  | 			<properties>
  | 				host=localhost
  | 				 port=7500
  | 			</properties>
  | 			<!-- determines whether this cache loader ignores writes - defaults to false. -->
  | 			<ignoreModifications>true</ignoreModifications>
  | 		</cacheloader>
  | 			 
  |          </config>
  | 	</attribute>
  | 
When i put entries into node2, they are replicated or written into the cache in node1. I played around with setting it to true or false and makes no difference. So I suspect 1 of 3 things,
 1. ignoreModifications doesnt work with TcpDelegate, or
 2. I checked the log file to see if i could see some debug where it would say something like "ignoreModifications set to true" but nothing in the log file. So maybe it wasnt set?? 
3. ignoreModifications doesnt work like we thought it would :(


So those are my findings..........

cheers,
LL


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4112003#4112003

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4112003



More information about the jboss-user mailing list