David Jencks wrote:
On Jan 3, 2007, at 10:56 AM, Mike Perham wrote:I'm using the new 1.2-beta with the mysql-xa connector from wasce 1.1.0.1. My application does some db work when it starts up and we don't see this error on 1.1.0.1. I'm using Spring 1.2.8's JTATransactionManager like this: <bean id="inboxTransactionManager" class="org.springframework.transaction.jta.JtaTransactionManager"><property name="transactionManagerName"><value>java:/TransactionManager</value></property></bean> Is this the correct JNDI location?I would have expected it to be java:TransactionManager but it's possible both values work. I suspect it's working because apparently there is a transaction started and I assume it was started by Spring.I haven't personally tried the tranql mysql xa adapter (is that the one from wasce?)
No, WASCE doesn't include the MySQL adapter from TranQL. BTW - WASCE 1.1.0.1 == Geronimo 1.1.1 but I wonder.... have you gotten it to work in other
circumstances?One possibility is that there's a bug in the connector. When a connection is not enrolled in a transaction it's supposed have autocommit behavior. If this isn't working you probably wouldn't see a problem using a local-tx connector since there isn't much to the start of a transaction -- just turning off autocommit. If it was already off you might not see any errors.Can you put a breakpoint in a likely spot in perhaps the WrapperNamedXAResource and see if commit is actually being called?Do you expect there to be any work done outside a transaction? thanks david jencks09:50:32,771 WARN [Transaction] Unable to enlist XAResource org.apache.geronimo[EMAIL PROTECTED], errorCode: -9com.mysql.jdbc.jdbc2.optional.MysqlXAException: XAER_OUTSIDE: Some work is doneoutside global transactionat com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.mapXAExceptionFromSQLException(MysqlXAConnection.java:562)at com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.dispatchCommand(MysqlXAConnection.java:545)at com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.start(MysqlXAConnection.java:485)at org.apache.geronimo.transaction.manager.WrapperNamedXAResource.start(WrapperNamedXAResource.java:86)at org.apache.geronimo.transaction.manager.TransactionImpl.enlistResource(TransactionImpl.java:207)at org.apache.geronimo.connector.outbound.TransactionEnlistingInterceptor.getConnection(TransactionEnlistingInterceptor.java:54)at org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.getConnection(TransactionCachingInterceptor.java:87)at org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.getConnection(ConnectionHandleInterceptor.java:43)at org.apache.geronimo.connector.outbound.TCCLInterceptor.getConnection(TCCLInterceptor.java:39)at org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.getConnection(ConnectionTrackingInterceptor.java:66)at org.apache.geronimo.connector.outbound.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:61)at org.tranql.connector.jdbc.DataSource.getConnection(DataSource.java:56)at $javax.sql.DataSource$$FastClassByCGLIB$$6525cafd.invoke(<generated>)at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)at org.apache.geronimo.connector.ConnectorMethodInterceptor.intercept(ConnectorMethodInterceptor.java:54)at $javax.sql.DataSource$$EnhancerByCGLIB$$f0297be4.getConnection(<generated>)at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:112)at org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy.getConnection(TransactionAwareDataSourceProxy.java:107)at org.springframework.orm.ojb.support.LocalDataSourceConnectionFactory.lookupConnection(LocalDataSourceConnectionFactory.java:88)at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.getConnection(Unknown Source)at org.apache.ojb.broker.accesslayer.StatementManager.getPreparedStatement(Unknown Source)at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(UnknownSource)at org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(UnknownSource)at org.apache.ojb.broker.accesslayer.RsIterator.<init>(Unknown Source) at org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(Unknown Source)at org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(Unknown Source)at org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(Unknown Source)at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown Source)at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown Source)at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown Source)at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown Source)at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown Source)at org.springframework.orm.ojb.PersistenceBrokerTemplate$3.doInPersistenceBroker(PersistenceBrokerTemplate.java:192)at org.springframework.orm.ojb.PersistenceBrokerTemplate.execute(Persist
Mike, for WASCE specific questions, try using our devWorks forum at - http://www-128.ibm.com/developerworks/forums/dw_forum.jsp?forum=541&cat=51 -Donald
smime.p7s
Description: S/MIME Cryptographic Signature
