[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