From the parent Issue (
OPENJPA-61)...
"I don't think that we want this to necessarily be the default ManagedRuntime implementation, since the TSR does not provide any support for executing work in a separate transaction. This behavior is required for sequence maintenance in some scenarios.
Maybe we should change our ManagedRuntime interface to get rid of the begin() / commit() etc. APIs, and add a new interface for executing a Runnable in a different transaction. This would allow us to use the TSR ManagedRuntime for general use, and just plug in different ways of performing out-of-transaction work."
Since the original
OPENJPA-61 Issue resolved the first problem with a missing TSR implementation, I created this new sub-task for the "out of transaction" work requests.
I think this is a good direction to go, although I'm not sure that you need a different transaction. You might be able to use the non-transactional connection to perform "out of transaction" requests like sequence management, but you shouldn't need a "different transaction" just a "non-transaction".
Are there cases where we need "transactional" semantics but "not the transaction currently bound" to the Broker?