By the way, with the new transaction engine, these details get handle by the framework.

https://github.com/afs/mantis/blob/master/dboe-transaction/src/main/java/org/seaborne/dboe/transaction/txn/Transaction.java#L180

In theory, this will support XA transactions as well. "in theiory" means the design has the necessary features, but it hasn't been tested out.

    Andy

On 26/05/17 13:34, Andy Seaborne wrote:


On 26/05/17 11:49, Dick Murray wrote:
I've got some transactional code and I noticed that when Txn.executeRead
caught an Exception it calls abort() then end() via a common onThrowable
method.

This caught me out because my (poor) code didn't expect abort() on a READ,
which I've fixed.

Does Jena expect;

read -> end
read -> [abort] -> end
read -> abort | end

Bias from previous roles I was expecting read -> end and write -> [commit |
abort ] -> end...

D.


The app can optionally call commit or abort on a READ transaction if it wants to.

read -> [abort|commit] -> end

This may become more important when promotable transactions arrive - reader flip to being the writer (if it is possible). That's WIP - it works and is tested, it is switched off currently pending thinking about interface implications.

Read-only, enforced, is actually quite useful.

     Andy


Reply via email to