[wildfly-dev] (transaction enlistment for ACID but none for BASE...) update on WildFly NoSQL prototype integration...
Scott Marlow
smarlow at redhat.com
Mon Jul 18 13:53:56 EDT 2016
>
> The choice of ignoring those calls, is made against the alternative of
> throwing an exception. The reason for ignoring the neo4j transactional
> calls, is to be more compatible with existing ne04j code that may be
> using the neo4j transactional code, with the goal that the JTA
> transaction controls the underlying ne04j transaction. Neo4j
> transactional code also runs the statements against the neo4j
> transaction class, instead of the neo4j session class.
>
In a JTA transaction, instead of ignoring calls to
org.neo4j.driver.v1.Transaction.failure(), we could call
setRollbackOnly() on the JTA transaction. So, the existing neo4j code
can influence a JTA rollback. IMO, this would improve our compatibility
with existing neo4j.
In our neo4j XAResource wrapper, we handle commit() by calling neo4j
Transaction.success(). We handle rollback() by calling neo4j
Transaction.failure(). For both cases, we call Transaction.close().
Scott
More information about the wildfly-dev
mailing list