Thank you very much for your responses. Here's what I've found based on your suggestions (sorry for the verboseness of the log statements I've included).
I start ServerA first and add a MerchantDailyAccount object to it with a 'dailySpend' value of 128.00 (I know it gets added successfully because I have debug logging to print out its values immediately after it gets added to cache). I then start ServerB and add a MerchantDailyAccount object also with a 'dailySpend' value of 128.00. This is what I see in the logs on ServerA (192.168.1.174) - the server being replicated to: 26 Jun 2006 20:14:37,165 DEBUG[] org.jboss.cache.interceptors.PessimisticLockInterceptor - PessimisticLockInterceptor invoked for method prepare(GlobalTransaction:<192.168.1.184:33302>:1, [_put(GlobalTransaction:<192.168.1.184:33302>:1, /test/dailySpend, dummy, dummy, true), _put(GlobalTransaction:<192.168.1.184:33302>:1, /test/dailySpend, AOPInstance, [EMAIL PROTECTED], true), _put(GlobalTransaction:<192.168.1.184:33302>:1, /test/dailySpend, __jboss:internal:class__, class com.gifts.business.MerchantDailyAccount, true), _put(GlobalTransaction:<192.168.1.184:33302>:1, /test/dailySpend, {dailySpend=128.0}, true), _remove(GlobalTransaction:<192.168.1.184:33302>:1, /test/dailySpend, dummy, true)], 192.168.1.184:33302, false) 26 Jun 2006 20:14:37,165 DEBUG[] org.jboss.cache.interceptors.PessimisticLockInterceptor - bypassed locking as method prepare() doesn't require locking 26 Jun 2006 20:14:37,166 DEBUG[] org.jboss.cache.interceptors.CallInterceptor - Suppressing invocation of method prepare(GlobalTransaction:<192.168.1.184:33302>:1, [_put(GlobalTransaction:<192.168.1.184:33302>:1, /test/dailySpend, dummy, dummy, true), _put(GlobalTransaction:<192.168.1.184:33302>:1, /test/dailySpend, AOPInstance, [EMAIL PROTECTED], true), _put(GlobalTransaction:<192.168.1.184:33302>:1, /test/dailySpend, __jboss:internal:class__, class com.gifts.business.MerchantDailyAccount, true), _put(GlobalTransaction:<192.168.1.184:33302>:1, /test/dailySpend, {dailySpend=128.0}, true), _remove(GlobalTransaction:<192.168.1.184:33302>:1, /test/dailySpend, dummy, true)], 192.168.1.184:33302, false) on cache. Seems like the object is being passed correctly across the network, right? However, when I look at the objects on ServerA and ServerB, I see: ServerA: MerchantDailyAccount.dailySpend = 1.00 (I should see 128.00, but instead I see this which is the default value) ServerB: MerchantDailyAccount.dailySpend = 128.00 (This is what I expect to see) I then run a test to modify the 'dailySpend' value of the object on ServerB. When I update its value to 128.55 on ServerB, this is what I see in the logs on both servers: ServerB (192.168.1.184) - the server being updated directly 26 Jun 2006 20:18:08,115 DEBUG[] org.jboss.cache.interceptors.ReplicationInterceptor - invoking method _put(null, /test/dailySpend, dailySpend, 128.55, true), members=[192.168.1.174:33961, 192.168.1.184:33302], mode=REPL_SYNC, exclude_self=true, timeout=20000 26 Jun 2006 20:18:08,115 DEBUG[] org.jboss.cache.TreeCache - callRemoteMethods(): valid members are [192.168.1.174:33961] methods: _put(null, /test/dailySpend, dailySpend, 128.55, true) 26 Jun 2006 20:18:08,131 DEBUG[] org.jboss.cache.TreeCache - (192.168.1.184:33302): responses for method _replicate: [sender=192.168.1.174:33961, retval=128.0, received=true, suspected=false] 26 Jun 2006 20:18:08,131 DEBUG[] org.jboss.cache.interceptors.ReplicationInterceptor - responses=[128.0] ServerA (192.168.1.174) - the server being replicated to 26 Jun 2006 20:18:08,122 DEBUG[] org.jboss.cache.interceptors.TxInterceptor - (192.168.1.174:33961) call on method [_put(null, /test/dailySpend, dailySpend, 128.55, true)] 26 Jun 2006 20:18:08,123 DEBUG[] org.jboss.cache.interceptors.ReplicationInterceptor - IsLocalCommitOrRollback=false 26 Jun 2006 20:18:08,123 DEBUG[] org.jboss.cache.interceptors.PessimisticLockInterceptor - PessimisticLockInterceptor invoked for method _put(null, /test/dailySpend, dailySpend, 128.55, true) 26 Jun 2006 20:18:08,123 DEBUG[] org.jboss.cache.interceptors.PessimisticLockInterceptor - Attempting to lock node /test/dailySpend for owner Thread[Thread-14,5,main] 26 Jun 2006 20:18:08,123 DEBUG[] org.jboss.cache.Node - acquiring RL: fqn=/test, caller=Thread[Thread-14,5,main], lock= 26 Jun 2006 20:18:08,123 DEBUG[] org.jboss.cache.Node - acquired RL: fqn=/test, caller=Thread[Thread-14,5,main], lock=read owners=[Thread[Thread-14,5,main]] 26 Jun 2006 20:18:08,123 DEBUG[] org.jboss.cache.Node - acquiring WL: fqn=/test/dailySpend, caller=Thread[Thread-14,5,main], lock= 26 Jun 2006 20:18:08,123 DEBUG[] org.jboss.cache.Node - acquired WL: fqn=/test/dailySpend, caller=Thread[Thread-14,5,main], lock=write owner=Thread[Thread-14,5,main] 26 Jun 2006 20:18:08,123 DEBUG[] org.jboss.cache.interceptors.CallInterceptor - Invoking method _put(null, /test/dailySpend, dailySpend, 128.55, true) on cache. 26 Jun 2006 20:18:08,123 DEBUG[] org.jboss.cache.TreeCache - _put(null, "/test/dailySpend", dailySpend, 128.55) 26 Jun 2006 20:18:08,123 DEBUG[] org.jboss.cache.eviction.RegionManager - nodeModified(): redirecting to node visited. fqn- /test/dailySpend 26 Jun 2006 20:18:08,123 DEBUG[] org.jboss.cache.eviction.RegionManager - nodeVisited(): fqn- /test/dailySpend So, from these logs, it looks like ServerB is sending a value of dailySpend = 128.55 to ServerA, and ServerA is sending a response back indicating it updated the value (meaning that my object is instrumented correctly, right?). I'm not sure why ServerA is sending back a return value of 128.0 except that this is the value that should have existed prior to the replication attempt? This is odd since when I got the object out of ServerA cache prior to running this update test, it told me the value was 1.0. So now, when I now look at the objects on the two servers, I see: ServerA: MerchantDailyAccount.dailySpend = 1.00 (still stuck at 1.00) ServerB: MerchantDailyAccount.dailySpend = 128.55 (correct value) I can't seem to correlate what I'm seeing in the logs with what I'm not seeing in the objects. It seems like the values are being replicated between the two servers but not actually persisted in the object being replicated to. Is there anything else I could be looking for in the logs? I don't see any errors or anything that says an action failed. Any reason why these values are being replicated but aren't actually persisting in the objects themselves? For your reference, the class I'm caching is: @org.jboss.cache.aop.annotation.PojoCacheable | public class MerchantDailyAccount implements Serializable { | | protected float dailySpend = 1.0F; | | | /** | * Default constructor | */ | public MerchantDailyAccount() { } | | | public float getDailySpend() { | return dailySpend; | } | | public void setDailySpend(float dailySpend) { | this.dailySpend = dailySpend; | } | } Thanks, Michael View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3953590#3953590 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3953590 Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user