Could someone please throw light on the subject of using JavaGroup's (Distributed|Replicated)HashTable as the backbone of a distributed cache to be used with J2EE applications? I did a casual study of the documents and the source code of both, and my understanding is that they use standard HashTable as the data structure, which is not synchronized. Hence, concurrent access may result into problems, especially under high load. If my understanding is correct, then one needs to build a RWLock-like mechanism on the top of these two, to get safe concurrent access and hence, transacational guarantee. Is that what is expected of the developers who use these two Classes? \
Any information will be appreciated \
Nirmalya
Hashtable is synchronized
Posted byAnonymous Userat
2004-09-29 08:03 PM
standard HashTable is synchronized.
JBoss Cache instead of JGroups Distributed HashTable
Posted byAnonymous Userat
2007-12-19 04:13 AM
If you want all those features you should be looking at JBoss Cache instead. JBoss Cache evolved out of JGroups' DistributedHashTable and added features such as concurrency safety, transactions, cache loading, eviction, etc etc.
Also, to the poster of the original article, you mention JBoss Cache twice - and forget to mention features such as POJO Cache not having any requirements on objects being Serializable, and the fact that JBoss Cache (as of late) has added features such as Buddy Replication where state isn't copied to everyone across a cluster but to pegged buddy nodes only, increasing scalability significantly if you have session affinity.
Hello all, \
Could someone please throw light on the subject of using JavaGroup's (Distributed|Replicated)HashTable as the backbone of a distributed cache to be used with J2EE applications? I did a casual study of the documents and the source code of both, and my understanding is that they use standard HashTable as the data structure, which is not synchronized. Hence, concurrent access may result into problems, especially under high load. If my understanding is correct, then one needs to build a RWLock-like mechanism on the top of these two, to get safe concurrent access and hence, transacational guarantee. Is that what is expected of the developers who use these two Classes? \
Any information will be appreciated \
Nirmalya
standard HashTable is synchronized.
Also, to the poster of the original article, you mention JBoss Cache twice - and forget to mention features such as POJO Cache not having any requirements on objects being Serializable, and the fact that JBoss Cache (as of late) has added features such as Buddy Replication where state isn't copied to everyone across a cluster but to pegged buddy nodes only, increasing scalability significantly if you have session affinity.