geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <>
Subject Re: when to suspend a transaction?
Date Thu, 18 Oct 2007 05:51:26 GMT

On Oct 17, 2007, at 6:13 PM, wrote:

> Hi,
> I have a question about when to suspend a transaction in global  
> transaction?
> If app server A calls a ejb method in app server B, and app server  
> A 's calling thread has a transaction, server A should ALWAYS  
> suspend current transaction before propagation it to server B?
> Is there any exception that server A will not suspend the current  
> transaction before propagation?

The effect depends partly on the capabilities and configuration of  
the app servers.  At the moment geronimo cannot propagate  
transactions between instances.  If you use the corba transport then  
propagation works as explained in the ejb specs: only calls where no  
propagation is expected will succeed (B's ejb is NONE or REQUIRES_NEW  
or A has no active transaction (NONE, NOT_SUPPORTED, SUPPPORTED with  
not tx active)).

With  the proprietary openejb transport the existence of a tx context  
at A is simply ignored.

We could certainly use some help to implement distributed  
transactions but I warn you that the topic is somewhat difficult and  
there doesn't seem to be much demand for it.

If geronimo did support distributed transactions then there would be  
no difference in transaction behavior whether A and B were on the  
same server instance or different server instances.

I hope this answers your question.

david jencks

> Thanks & Best Regards,

View raw message