[jboss-user] [JBossCache] - Transactions

aditsu do-not-reply at jboss.com
Wed Jul 11 04:17:45 EDT 2007


Let's say I have a machine running a jboss cache (C) and another one running an application (A). A conencts to C through some kind of custom API. How can I make it so that A can call multiple API methods within a single transaction in C?
E.g. this could be a scenario:
- A starts a transaction
- A calls a method that modifies a cache node in C
- A calls a method that modifies another node in C
- A tries to commit the transaction
- the first node can be modified successfully, but the second one throws an exception
- C rolls back the whole transaction because the second node change failed

If I only rely on transactions in C, then either the first method has to start a transaction, or A needs to call another API method first that starts a transaction. How would the second method "know" it is part of the same transaction, and how can A then commit the same transaction? Are transactions associated with threads in machine C? Does that mean the whole sequence of API calls has to be executed on the same dedicated thread in C? Or is it possible to send the transaction reference across the API? Will there be conflicts if multiple threads in A are doing this at the same time?

Or, is it possible to use a distributed transaction manager to solve this problem? How would that work, and how would the code in A and the code in C know they're part of the same transaction?

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

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



More information about the jboss-user mailing list