Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

WebSphere, ActiveMQ, Hibernate, EJB transaction issue

439 views
Skip to first unread message

derrickdb2

unread,
Aug 26, 2009, 11:10:20 AM8/26/09
to
I have a Session EJB, which calling another Session EJB(implement Hibernate, another EJB project) and use JMS to send Message to ActiveMQ, when I run them. give me a exception.

[8/26/09 11:02:59:265 EDT] 0000001e LocalTransact E J2CA0030E: Method enlist caught com.ibm.ws.Transaction.IllegalResourceIn2PCTransactionException: Illegal attempt to enlist multiple 1PC XAResources
at com.ibm.ws.Transaction.JTA.RegisteredResources.enlistResource(RegisteredResources.java:399)
at com.ibm.ws.Transaction.JTA.TransactionImpl.enlistResource(TransactionImpl.java:3147)
at com.ibm.ws.Transaction.JTA.TranManagerSet.enlistOnePhase(TranManagerSet.java:438)
at com.ibm.ejs.j2c.LocalTransactionWrapper.enlist(LocalTransactionWrapper.java:585)
at com.ibm.ejs.j2c.ConnectionEventListener.localTransactionStarted(ConnectionEventListener.java:713)
at com.ibm.ejs.jms.JMSManagedSession.localTransactionStarted(JMSManagedSession.java:967)
at com.ibm.ejs.jms.JMSManagedSession.enlist(JMSManagedSession.java:919)
at com.ibm.ejs.jms.JMSMessageProducerHandle.enlist(JMSMessageProducerHandle.java:797)
at com.ibm.ejs.jms.JMSMessageProducerHandle.send(JMSMessageProducerHandle.java:1168)
at com.loyaltycentral.ejb.session.JobManagerEJBBean.submitJob(JobManagerEJBBean.java:149)
at com.loyaltycentral.ejb.session.JobManagerEJBBean.submitJob(JobManagerEJBBean.java:129)
at com.loyaltycentral.ejb.session.EJSRemoteStatelessJobManagerEJB_f60b1620.submitJob(EJSRemoteStatelessJobManagerEJB_f60b1620.java:112)
at com.loyaltycentral.ejb.session._JobManagerEJB_Stub.submitJob(_JobManagerEJB_Stub.java:536)
at com.loyaltycentral.service.CardManagementEJBBean.submitJob(CardManagementEJBBean.java:666)
at com.loyaltycentral.service.client.EJSRemoteStatelessCardManagementEJB_2813c24d.submitJob(EJSRemoteStatelessCardManagementEJB_2813c24d.java:403)
at com.loyaltycentral.service.client._CardManagementEJB_Stub.submitJob(_CardManagementEJB_Stub.java:745)
at com.loyaltycentral.web.cardmgmt.CreateCardsAction.execute(CreateCardsAction.java:115)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at com.loyaltycentral.web.LcRequestProcessor.process(LcRequestProcessor.java:100)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:989)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:501)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:464)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1455)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:113)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:383)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)
while trying to enlist resources from datasource JMS$SyncQCF$JMSManagedConnection@76678290 with the Transaction Manager for the current transaction, and threw a Exception.
[8/26/09 11:02:59:328 EDT] 0000001e ServiceLogger I com.ibm.ws.ffdc.IncidentStreamImpl open FFDC0009I: FFDC opened incident stream file C:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\ffdc\server1_7fa87fa8_09.08.26_11.02.59_2.txt
[8/26/09 11:02:59:328 EDT] 0000001e ServiceLogger I com.ibm.ws.ffdc.IncidentStreamImpl resetIncidentStream FFDC0010I: FFDC closed incident stream file C:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\ffdc\server1_7fa87fa8_09.08.26_11.02.59_2.txt
[8/26/09 11:02:59:359 EDT] 0000001e ConnectionEve E J2CA0074E: Unable to enlist connection from resource JMS$SyncQCF$JMSManagedConnection@76678290 with current transaction in method localTransactionStarted due to exception. Initiating destruction of connection. Exception is: javax.resource.ResourceException: enlist: caught Exception
at com.ibm.ejs.j2c.LocalTransactionWrapper.enlist(LocalTransactionWrapper.java:688)
at com.ibm.ejs.j2c.ConnectionEventListener.localTransactionStarted(ConnectionEventListener.java:713)
at com.ibm.ejs.jms.JMSManagedSession.localTransactionStarted(JMSManagedSession.java:967)
at com.ibm.ejs.jms.JMSManagedSession.enlist(JMSManagedSession.java:919)
at com.ibm.ejs.jms.JMSMessageProducerHandle.enlist(JMSMessageProducerHandle.java:797)
at com.ibm.ejs.jms.JMSMessageProducerHandle.send(JMSMessageProducerHandle.java:1168)
at com.loyaltycentral.ejb.session.JobManagerEJBBean.submitJob(JobManagerEJBBean.java:149)
at com.loyaltycentral.ejb.session.JobManagerEJBBean.submitJob(JobManagerEJBBean.java:129)
at com.loyaltycentral.ejb.session.EJSRemoteStatelessJobManagerEJB_f60b1620.submitJob(EJSRemoteStatelessJobManagerEJB_f60b1620.java:112)
at com.loyaltycentral.ejb.session._JobManagerEJB_Stub.submitJob(_JobManagerEJB_Stub.java:536)
at com.loyaltycentral.service.CardManagementEJBBean.submitJob(CardManagementEJBBean.java:666)
at com.loyaltycentral.service.client.EJSRemoteStatelessCardManagementEJB_2813c24d.submitJob(EJSRemoteStatelessCardManagementEJB_2813c24d.java:403)
at com.loyaltycentral.service.client._CardManagementEJB_Stub.submitJob(_CardManagementEJB_Stub.java:745)
at com.loyaltycentral.web.cardmgmt.CreateCardsAction.execute(CreateCardsAction.java:115)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at com.loyaltycentral.web.LcRequestProcessor.process(LcRequestProcessor.java:100)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:989)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:501)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:464)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1455)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:113)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:383)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)
Caused by: com.ibm.ws.Transaction.IllegalResourceIn2PCTransactionException: Illegal attempt to enlist multiple 1PC XAResources
at com.ibm.ws.Transaction.JTA.RegisteredResources.enlistResource(RegisteredResources.java:399)
at com.ibm.ws.Transaction.JTA.TransactionImpl.enlistResource(TransactionImpl.java:3147)
at com.ibm.ws.Transaction.JTA.TranManagerSet.enlistOnePhase(TranManagerSet.java:438)
at com.ibm.ejs.j2c.LocalTransactionWrapper.enlist(LocalTransactionWrapper.java:585)
... 38 more

[8/26/09 11:02:59:375 EDT] 0000001e ConnectionEve A J2CA0056I: The Connection Manager received a fatal connection error from the Resource Adapter for resource JMS$SyncQCF$JMSManagedConnection@76678290. The exception which was received is (none)
[8/26/09 11:02:59:375 EDT] 0000001e ConnectionEve A J2CA0090I: This is an English only message: No exception was received from the Resource Adapter. Information may be available in previous messages or exceptions..
[8/26/09 11:02:59:640 EDT] 0000001e ServiceLogger I com.ibm.ws.ffdc.IncidentStreamImpl open FFDC0009I: FFDC opened incident stream file C:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\ffdc\server1_7fa87fa8_09.08.26_11.02.59_3.txt
[8/26/09 11:02:59:765 EDT] 0000001e ServiceLogger I com.ibm.ws.ffdc.IncidentStreamImpl resetIncidentStream FFDC0010I: FFDC closed incident stream file C:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\ffdc\server1_7fa87fa8_09.08.26_11.02.59_3.txt
[8/26/09 11:04:40:734 EDT] 0000001e RegisteredRes E WTRN0062E: An illegal attempt to use multiple resources that have only one-phase capability has occurred within a global transaction.
[8/26/09 11:04:40:750 EDT] 0000001e LocalTransact E J2CA0030E: Method enlist caught com.ibm.ws.Transaction.IllegalResourceIn2PCTransactionException: Illegal attempt to enlist multiple 1PC XAResources
at com.ibm.ws.Transaction.JTA.RegisteredResources.enlistResource(RegisteredResources.java:399)
at com.ibm.ws.Transaction.JTA.TransactionImpl.enlistResource(TransactionImpl.java:3147)
at com.ibm.ws.Transaction.JTA.TranManagerSet.enlistOnePhase(TranManagerSet.java:438)
at com.ibm.ejs.j2c.LocalTransactionWrapper.enlist(LocalTransactionWrapper.java:585)
at com.ibm.ejs.j2c.ConnectionEventListener.localTransactionStarted(ConnectionEventListener.java:713)
at com.ibm.ejs.jms.JMSManagedSession.localTransactionStarted(JMSManagedSession.java:967)
at com.ibm.ejs.jms.JMSManagedSession.enlist(JMSManagedSession.java:919)
at com.ibm.ejs.jms.JMSMessageProducerHandle.enlist(JMSMessageProducerHandle.java:797)
at com.ibm.ejs.jms.JMSMessageProducerHandle.send(JMSMessageProducerHandle.java:1168)
at com.loyaltycentral.ejb.session.JobManagerEJBBean.submitJob(JobManagerEJBBean.java:149)
at com.loyaltycentral.ejb.session.JobManagerEJBBean.submitJob(JobManagerEJBBean.java:129)
at com.loyaltycentral.ejb.session.EJSRemoteStatelessJobManagerEJB_f60b1620.submitJob(EJSRemoteStatelessJobManagerEJB_f60b1620.java:112)
at com.loyaltycentral.ejb.session._JobManagerEJB_Stub.submitJob(_JobManagerEJB_Stub.java:536)
at com.loyaltycentral.service.CardManagementEJBBean.submitJob(CardManagementEJBBean.java:666)
at com.loyaltycentral.service.client.EJSRemoteStatelessCardManagementEJB_2813c24d.submitJob(EJSRemoteStatelessCardManagementEJB_2813c24d.java:403)
at com.loyaltycentral.service.client._CardManagementEJB_Stub.submitJob(_CardManagementEJB_Stub.java:745)
at com.loyaltycentral.web.cardmgmt.CreateCardsAction.execute(CreateCardsAction.java:115)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at com.loyaltycentral.web.LcRequestProcessor.process(LcRequestProcessor.java:100)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:989)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:501)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:464)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1455)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:113)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:383)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:263)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)
while trying to enlist resources from datasource JMS$SyncQCF$JMSManagedConnection@76678290 with the Transaction Manager for the current transaction, and threw a Exception.
[8/26/09 11:04:40:765 EDT] 0000001e ConnectionEve E J2CA0074E: Unable to enlist connection from resource JMS$SyncQCF$JMSManagedConnection@76678290 with current transaction in method localTransactionStarted due to exception. Initiating destruction of connection. Exception is: javax.resource.ResourceException: enlist: caught Exception
at com.ibm.ejs.j2c.LocalTransactionWrapper.enlist(LocalTransactionWrapper.java:688)
at com.ibm.ejs.j2c.ConnectionEventListener.localTransactionStarted(ConnectionEventListener.java:713)
at com.ibm.ejs.jms.JMSManagedSession.localTransactionStarted(JMSManagedSession.java:967)
at com.ibm.ejs.jms.JMSManagedSession.enlist(JMSManagedSession.java:919)
at com.ibm.ejs.jms.JMSMessageProducerHandle.enlist(JMSMessageProducerHandle.java:797)
at com.ibm.ejs.jms.JMSMessageProducerHandle.send(JMSMessageProducerHandle.java:1168)
at com.loyaltycentral.ejb.session.JobManagerEJBBean.submitJob(JobManagerEJBBean.java:149)
at com.loyaltycentral.ejb.session.JobManagerEJBBean.submitJob(JobManagerEJBBean.java:129)
at com.loyaltycentral.ejb.session.EJSRemoteStatelessJobManagerEJB_f60b1620.submitJob(EJSRemoteStatelessJobManagerEJB_f60b1620.java:112)
at com.loyaltycentral.ejb.session._JobManagerEJB_Stub.submitJob(_JobManagerEJB_Stub.java:536)
at com.loyaltycentral.service.CardManagementEJBBean.submitJob(CardManagementEJBBean.java:666)
at com.loyaltycentral.service.client.EJSRemoteStatelessCardManagementEJB_2813c24d.submitJob(EJSRemoteStatelessCardManagementEJB_2813c24d.java:403)
at com.loyaltycentral.service.client._CardManagementEJB_Stub.submitJob(_CardManagementEJB_Stub.java:745)
at com.loyaltycentral.web.cardmgmt.CreateCardsAction.execute(CreateCardsAction.java:115)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at com.loyaltycentral.web.LcRequestProcessor.process(LcRequestProcessor.java:100)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:989)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:501)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:464)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1455)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:113)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:383)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:263)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)
Caused by: com.ibm.ws.Transaction.IllegalResourceIn2PCTransactionException: Illegal attempt to enlist multiple 1PC XAResources
at com.ibm.ws.Transaction.JTA.RegisteredResources.enlistResource(RegisteredResources.java:399)
at com.ibm.ws.Transaction.JTA.TransactionImpl.enlistResource(TransactionImpl.java:3147)
at com.ibm.ws.Transaction.JTA.TranManagerSet.enlistOnePhase(TranManagerSet.java:438)
at com.ibm.ejs.j2c.LocalTransactionWrapper.enlist(LocalTransactionWrapper.java:585)
... 40 more

[8/26/09 11:04:40:765 EDT] 0000001e ConnectionEve A J2CA0056I: The Connection Manager received a fatal connection error from the Resource Adapter for resource JMS$SyncQCF$JMSManagedConnection@76678290. The exception which was received is (none)
[8/26/09 11:04:40:765 EDT] 0000001e ConnectionEve A J2CA0090I: This is an English only message: No exception was received from the Resource Adapter. Information may be available in previous messages or exceptions..

andymc_

unread,
Aug 28, 2009, 11:20:05 AM8/28/09
to
Hello,

It sounds like you are using 1PC (one phase commit) drivers for your resources. You may have better luck using XA-compliant (2PC) drivers for ActiveMQ and the database JDBC driver.

Hope this helps,

Andy

0 new messages