Transactional distribution over JGroups cannot scale. The AOP overhead and complexity solves an uncommon problem at the expense of the standard case where you want to send an entire object over the wire. The overhead is rarely in the amount of data being sent, but in the sending an d receiving itself. The AOP solution seems horribly misguided. The locking sounds like a disaster, especially given the pessismistic strategy. I need a cache not a database. . . .
JCS is a far better alternative for a distributed cache: