Re: Websphere and Local transactions ..

Kevin Sutter <[email protected]> Tue, 14 Jan 2003 07:58:36 -0600
Newsgroups gmane.comp.java.sun.connector
Message-ID <OF0B24431E.BF97DE04-ON86256CAE.004C6891-86256CAE.004CC655@rchland.ibm.com>
The LocalTransactionStarted event should only be delivered for the
cci.LocalTransaction.begin(), not the spi.LocalTransaction.begin()
invocations.  From the stack trace below, it shows that your RA is
delivering the LocalTransactionStarted event on the
spi.LocalTransaction.begin() call.  This is not correct.  As far as why the
J2EE RI allows this...  The J2EE RI is not a production-ready
implementation and does not cover all aspects of the J2EE Connector
Architecture specification.

-----------------------------------------------------------
Kevin Sutter, WebSphere Advanced (J2EE Connectors)
mail:      [email protected], Kevin Sutter/Rochester/IBM




                      Madhav Inamti
                      <Madhav.Inamti@MICROFO        To:       [email protected]
                      CUS.COM>                      cc:
                      Sent by: "A public            Subject:  Websphere and Local transactions ..
                      list for J2EE
                      Connector architecture
                      interest."
                      <CONNECTOR-INTEREST@JA
                      VA.SUN.COM>


                      01/13/2003 04:26 PM
                      Please respond to "A
                      public list for J2EE
                      Connector architecture
                      interest."






I am having trouble getting a resource adapter to work with IBM Websphere
5.0 with Local Transactions.
I having it working fine with J2EE Reference Impl. However with Local
Transactions, when I try to inform the
ConnectionEventListener that a local transaction has started, it seems to
fail.

From the trace it appears that Websphere's Connection Manager is involving
the ManagedConnection in a local transaction from the start, so when I send
a
localTransactionStarted event, it seems to think there are multiple
resources  .. Is there some setting that makes it not register the MC in a
transaction ?

I have the EJB invoking the Connector. Is this related to EJB setting ?

Has anybody encountered this ?

Thanks in advance,

Madhav

WTRN0062E: An illegal attempt to use multiple resources that have only
one-phase capability has occurred within a global transaction.
[1/13/03 13:04:24:828 GMT-08:00] 474cfc94 LocalTransact E J2CA0030E: Method
enlist caught java.lang.IllegalStateException
while trying to enlist resources from datasource eis/AServer with the
Transaction Manager for the current transaction, and threw a Exception.
            at
com.ibm.ejs.jts.jta.TransactionImpl.enlistResource(TransactionImpl.java:546)
            at com.ibm.ejs.jts.jta.JTSXA.enlistResource(JTSXA.java:1061)
            at com.ibm.ejs.jts.jta.JTSXA.enlistOnePhase(JTSXA.java:1038)
            at
com.ibm.ejs.j2c.LocalTransactionWrapper.enlist(LocalTransactionWrapper.java:493)
            at
com.ibm.ejs.j2c.ConnectionEventListener.localTransactionStarted(ConnectionEventListener.java:529)
            at com.m.connector.spi.CConnectionEventListener.sendEvent()
            at com.m.connector.spi.CManagedConnection.sendEvent()
            at com.m.connector.spi.TransactionImpl.begin()
            at com.m.connector.spi.SpiLocalTransaction.begin()
            at
com.ibm.ejs.j2c.LocalTransactionWrapper.start(LocalTransactionWrapper.java:792)
            at
com.ibm.ejs.jts.jta.WSResourceImplBase.start(WSResourceImplBase.java:156)
            at
com.ibm.ejs.jts.jta.TransactionImpl.enlistResource(TransactionImpl.java:705)
            at com.ibm.ejs.jts.jta.JTSXA.enlistResource(JTSXA.java:1061)
            at com.ibm.ejs.jts.jta.JTSXA.enlistOnePhase(JTSXA.java:1038)
            at
com.ibm.ejs.j2c.LocalTransactionWrapper.enlist(LocalTransactionWrapper.java:493)
            at
com.ibm.ejs.j2c.ConnectionManager.initializeForUOW(ConnectionManager.java:810)
            at
com.ibm.ejs.j2c.ConnectionManager.involveMCInTran(ConnectionManager.java:622)
            at
com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:379)
            at com.m.connector.cci.CConnectionFactory.getConnection()

===========================================================================
To unsubscribe, send email to [email protected] and include in the body
of the message "signoff CONNECTOR-INTEREST".  For general help, send email to
[email protected] and include in the body of the message "help".