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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...