On Jul 17, 2009, at 3:59 AM, Henning wrote:

While trying to understand OfBiz better, I found that OfBiz relies on
Geronimo's JTA implementation. I have a few questions on that (sorry if
I missed that in the documentation).

By default OFBiz does use the Geronimo JTA implementation. Which transaction manager used does depend on the configuration in the entityengine.xml file. If you are deploying OFBiz in an external application server the typical configuration is to get the JTA objects from JNDI.

Is OfBiz actually using XAResources and therefore 2-phase-commits?

And if, is that because of the JMS usage?

Yes, we are enlisting XA resources as part of transaction management. The original reason was to support transactions across multiple databases, and JMS transactions are also supported this way. With the recent discussions about the potential use of the Java content repository, specifically the Apache Jackrabbit implementation, that would also be enlisted in the same transactions.

Doesn't that imply a performance penalty that should be avoided if
possible and is there a way to configure OfBiz to handle everything
always in a non-distributed tx?

I don't know what sort of performance penalty might be involved in this. It would be interesting to test both ways and see, as some deployments don't need multiple databases or other enlisted resources.

Is this something that you have played with before, and are you saying that you would like to experiment with it? I'm not sure how many code changes would be required as I haven't really dug into this stuff for a while, but it should be possible to have things work one way or the other based on configuration.

-David

Reply via email to