I have primarily made use of non standard flags in the case of DB2 - which provides a TMLCS flag to enable sharing of locks (to prevent lock timeouts). In other words, one must manually enable tight coupling. The wording on the IBM site is a little odd, but that's been my experience when testing with manual XA code.
WAS CE and Geronimo don't support distributed transactions (where more than one transaction manager is used in a single xa transaction, all but one as "branches" of the primary transaction). (Note that WAS CE and Geronimo do support XA transactions with an arbitrary number of XA resources enrolled. However, all the XAResources have to be actual resource managers such as a database, jms broker, etc, they can't be other remote tx manager instances. This is only because we haven't written any tx-aware transports for e.g. remote ejb calls).
The only use I'm aware of for loosely coupled transactions is for distributed transactions where more than one tm and process are making changes in the same tx using different branches. Within a single process and tm, all the work on one resource manager should be done within the same tx branch, making the loose coupling irrelevant.
Anyway, right now we don't support this (non-xa-standard AFAIK) flag. I'd be interested to see more information on why you think it would be helpful.
On Sep 16, 2011, at 10:22 AM, Shika Maru00 wrote:
> Is it possible to add flags to the geronima transaction manager when it starts up a resource? (using enlistResource internally).
> I need to add a flag to enable loose coupling on ORACLE and DB2 (oratransloose and tmlcs). But this must be done when someone calls the XAResource start() , which includes the flag parameter. As I don't have direct control of XAResource (as the client I only use the UserTransaction object) I'm not sure how to do this.
> Some TMs, like webspheres, do this internally and provide some other method for the user to specify it. I am using Websphere Application Server Comunity Edition, which makes use of geronimo. What can I do?