[wildfly-dev] (transaction enlistment for ACID but none for BASE...) update on WildFly NoSQL prototype integration...

Emmanuel Bernard emmanuel at hibernate.org
Thu Jul 21 04:13:56 EDT 2016


On Wed 2016-07-20 11:51, Scott Marlow wrote:
 >
> > The transactional properties will be different in each NoSQL store,
> > f.ex. in Neo4J tx.success() / tx.failure() doesn't do anything before
> > tx.close() is called. So having transaction="1pc" (and "2pc") is a way
> > to unify transactional integration across different NoSQL stores.
> 
> We are taking a closer look at different Neo4j examples, to better 
> understand the pros/cons of allowing applications to call 
> tx.success/tx.failure in the JTA transaction.
> 
> I think that the advantage of enlisting Neo4j into a JTA transaction is 
> that it makes it easier for the application developer to coordinate 
> updating multiple resources within the same transaction.

That's not my preferred advantage to be honest.
My favorite is that people can use the @Transactional programming model
of EJB/CDI like they do for RDBMSes. That's a huge win.

What we are questioning here, is transparently ignoring explicit
"native" tx API calls when the JTA binding is in effect. It looked nice
on paper but has serious corner cases. So simpler might be better here.

Emmanuel


More information about the wildfly-dev mailing list