You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ofbiz.apache.org by Henning <he...@gmail.com> on 2009/07/17 11:59:45 UTC

OfBiz and distributed tx

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).

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

And if, is that because of the JMS usage?

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?

Thanks,
  Henning





Re: OfBiz and distributed tx

Posted by Henning Blohm <he...@gmail.com>.
The background of my question was that I would prefer to have just one
database and no need for any distributed transactions. Specifically for the
JMS usage is that really using a different data source / connection and
hence another transaction? There is probably some config for that.

As I indicated in a previous message I am trying to integrate OfBiz with
another server environment and as you say, I configured it to get the data
source and the user transaction from JNDI. It's working so far, I just
noticed that I had not looked into XA config so far.

Thanks,
  Henning



Technically of cou

On Fri, Jul 17, 2009 at 10:06 PM, David E Jones <de...@me.com> wrote:

>
> 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
>
>

Re: OfBiz and distributed tx

Posted by David E Jones <de...@me.com>.
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