Hello! I have run into problems with getting CMT-transactions to work under Message Driven Beans on JBoss3.2, including the latest 3.2-RC2. It works fine under JBoss 3.0.4 so I guess something has been changed in JBoss3.2 that I have missed.
I have attached a small example that can be used to reproduce the problem. The example is based on one JDBC- and one JMS-test method that both are called from a Steless Session Bean and from a Message Driven Bean. When called from the Steless Session Bean there is no problem with calling the JDBC and JMS tests methods under CMT. When called from the Message Drive Bean with CMT I get the following two errors below. You can find the the example code in the attached zip-file: - src/main/ejb/test/util/Helper.java - contain the JDBC and JMS test methods - src/main/ejb/test/session/TestSessionBean.java - contain the Steless Session Bean - src/main/ejb/test/message/TestMessageDrivenBean.java - contain the Steless Session Bean - build/META-INF/ejb-jar.xml - the deployment descriptor for the two EJB's Anyone that has a clue on what is going wrong? Regards, Magnus. 09:22:27,277 ERROR [STDERR] java.sql.SQLException: Not in a transaction 09:22:27,277 ERROR [STDERR] at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168) 09:22:27,277 ERROR [STDERR] at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210) 09:22:27,277 ERROR [STDERR] at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:273) 09:22:27,287 ERROR [STDERR] at oracle.jdbc.driver.OracleConnection.needLine(OracleConnection.java:1621) 09:22:27,287 ERROR [STDERR] at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:412) 09:22:27,287 ERROR [STDERR] at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:432) 09:22:27,287 ERROR [STDERR] at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.ja va:182) 09:22:27,287 ERROR [STDERR] at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.ja va:165) 09:22:27,287 ERROR [STDERR] at oracle.jdbc.driver.OracleConnection.privatePrepareStatement(OracleConnection .java:608) 09:22:27,287 ERROR [STDERR] at oracle.jdbc.driver.OracleConnection.prepareStatement(OracleConnection.java:4 89) 09:22:27,287 ERROR [STDERR] at org.jboss.resource.adapter.jdbc.WrappedConnection.prepareStatement(WrappedCo nnection.java:191) 09:22:27,287 ERROR [STDERR] at test.util.Helper.mlJdbcTest(Helper.java:34) 09:22:27,297 ERROR [STDERR] at test.message.TestMessageDrivenBean.onMessage(TestMessageDrivenBean.java:66) 09:22:27,297 ERROR [STDERR] at java.lang.reflect.Method.invoke(Native Method) 09:22:27,297 ERROR [STDERR] at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDriv enContainer.java:434) 09:22:27,297 ERROR [STDERR] at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(Cach edConnectionInterceptor.java: 186) 09:22:27,577 ERROR [STDERR] at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenI nstanceInterceptor.java:88) 09:22:27,577 ERROR [STDERR] at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor .java:108) 09:22:27,577 ERROR [STDERR] at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT. java:216) 09:22:27,577 ERROR [STDERR] at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:104) 09:22:27,577 ERROR [STDERR] at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityIntercept or.java:100) 09:22:27,577 ERROR [STDERR] at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:208) 09:22:27,577 ERROR [STDERR] at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinde rInterceptor.java:154) 09:22:27,577 ERROR [STDERR] at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.j ava:348) 09:22:27,587 ERROR [STDERR] at org.jboss.ejb.Container.invoke(Container.java:652) 09:22:27,587 ERROR [STDERR] at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.jav a:697) 09:22:27,587 ERROR [STDERR] at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage( JMSContainerInvoker.java:985) 09:22:27,587 ERROR [STDERR] at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:241) 09:22:27,587 ERROR [STDERR] at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageCons umer.java:601) 09:22:27,587 ERROR [STDERR] at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:415) 09:22:27,587 ERROR [STDERR] at org.jboss.mq.SpySession.run(SpySession.java:293) 09:22:27,587 ERROR [STDERR] at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:177) 09:22:27,597 ERROR [STDERR] at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.ja va:642) 09:22:27,597 ERROR [STDERR] at java.lang.Thread.run(Thread.java:479) 09:22:27,597 ERROR [STDERR] javax.jms.JMSException: Invalid transaction id. 09:22:27,597 ERROR [STDERR] at org.jboss.mq.SpyXAResourceManager.addMessage(SpyXAResourceManager.java:95) 09:22:27,607 ERROR [STDERR] at org.jboss.mq.SpySession.sendMessage(SpySession.java:654) 09:22:27,607 ERROR [STDERR] at org.jboss.mq.SpyQueueSender.internalSend(SpyQueueSender.java:118) 09:22:27,607 ERROR [STDERR] at org.jboss.mq.SpyQueueSender.send(SpyQueueSender.java:68) 09:22:27,607 ERROR [STDERR] at test.util.Helper.mlJmsTest(Helper.java:76) 09:22:27,607 ERROR [STDERR] at test.message.TestMessageDrivenBean.onMessage(TestMessageDrivenBean.java:67) 09:22:27,607 ERROR [STDERR] at java.lang.reflect.Method.invoke(Native Method) 09:22:27,607 ERROR [STDERR] at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDriv enContainer.java:434) 09:22:27,617 ERROR [STDERR] at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(Cach edConnectionInterceptor.java: 186) 09:22:27,617 ERROR [STDERR] at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenI nstanceInterceptor.java:88) 09:22:27,617 ERROR [STDERR] at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor .java:108) 09:22:27,617 ERROR [STDERR] at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT. java:216) 09:22:27,617 ERROR [STDERR] at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:104) 09:22:27,617 ERROR [STDERR] at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityIntercept or.java:100) 09:22:27,617 ERROR [STDERR] at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:208) 09:22:27,617 ERROR [STDERR] at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinde rInterceptor.java:154) 09:22:27,627 ERROR [STDERR] at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.j ava:348) 09:22:27,627 ERROR [STDERR] at org.jboss.ejb.Container.invoke(Container.java:652) 09:22:27,627 ERROR [STDERR] at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.jav a:697) 09:22:27,627 ERROR [STDERR] at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage( JMSContainerInvoker.java:985) 09:22:27,627 ERROR [STDERR] at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:241) 09:22:27,627 ERROR [STDERR] at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageCons umer.java:601) 09:22:27,627 ERROR [STDERR] at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:415) 09:22:27,627 ERROR [STDERR] at org.jboss.mq.SpySession.run(SpySession.java:293) 09:22:27,637 ERROR [STDERR] at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:177) 09:22:27,637 ERROR [STDERR] at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.ja va:642) 09:22:27,637 ERROR [STDERR] at java.lang.Thread.run(Thread.java:479)
JBoss3.2-MDB-CMT-problem.zip
Description: Zip compressed data