Using a distributed TM may work and is worth trying out, as I'd imagine this is the "correct" approach, provided C is configured with a TransactionManagerLookup that knows how to get a handle on the distributed TM.
A simpler approach may be not to use a custom API to communicate between A and C at all, but instead do do something like this: Let B be another cache instance, which runs in the same JVM as A. A always talks to B, never directly to C. So this way transactional scope is maintained regardless of which TM you use. Now B can be tuned with an aggressive eviction policy so it does not maintain much state at all in memory so it doesn't impact the machine very much. B is also configured with a TcpCacheLoader pointing at C. C runs with a TcpCacheServer, which acts as a backing cache to B. So all the cache state is really held in C, but B acts as the API front end for interacting with the cache. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4062937#4062937 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4062937 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user