[jboss-user] [JBossCache] - Re: Transactions

aditsu do-not-reply at jboss.com
Mon Oct 8 07:08:05 EDT 2007


Hi, I'm finally coming back to this problem, and I'd like to use a local cache (B) to keep things simple. So far I found 2 ways to do that:
1. What you said - a TcpCacheLoader in B pointing at C, and (I guess) no replication for B
2. B and C synchronously replicated in the same cluster, with no initial state transfer, and a ClusteredCacheLoader in B
In both cases, eviction would be used to discard unneeded nodes from B, based either on either an eviction policy or application logic.

Now, I'm not sure what are the exact differences between the 2 approaches (and also whether there is yet another way), but here is what I'd like to achieve:
- Data changes in C should update the B cache too (or somehow notify A). In the first approach I'm afraid it won't be notified at all; in the second approach I'm afraid it will receive too much (including needed and unneeded data)
- Suppose I have this local cache setup on 2 machines, B1 and B2. If I start a transaction on each one, and try to read or write a record on B1 and write the same record on B2, whichever happens first should block the other one, until the transaction is committed. I'm afraid that won't happen with a TcpCacheLoader

Could you please confirm my understanding, complete the missing details and advise me what approach is better for my needs?

Thanks
Adrian

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

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



More information about the jboss-user mailing list