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
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to