Unclear semantics of sesame 2.7 begin()

64 views Asked by At

Is it defined what should happen if begin() is called when there is already an active transaction? As I see it, there are four possibilities:

A. an exception is thrown

B. the begin() is silently ignored

C. some kind of transaction nesting takes place

D. it's undefined

1

There are 1 answers

0
Jeen Broekstra On BEST ANSWER

The answer is A, an exception is thrown. A Sesame RepositoryConnection only supports one active transaction at the same time - if concurrent transactions are needed, you need to work with multiple connections (a corrolary to this is that it's a bad idea to share a RepositoryConnection across threads).

I'll make sure the API Javadoc is updated to make this more clear.