  | Mailing List | | Home | | Forum Home | | JBoss - Java Application Server | | Struts - A MVC web framework | | Tomcat - JSP/Servlet container | | iText - An open source PDF Java Library | | JDOM - JDOM XML Parser | | J2EE - A mailing list for Java(tm) 2 Platform, Enterprise Edition | | J2EE Pattern - An interest list for Sun Java Center J2EE Pattern Catalog | | Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology | | JSP - A mailing list about Java Server Pages specification and reference | |
Struts & Hibernate
|
|
|
  | | | 2 phase commit error in EJB transactions. | 2 phase commit error in EJB transactions. 2004-04-30 - By Uthiresh
Back Hi,
I have a scenario where a client calls a method on a SLSB which makes a DB update, and then it publishes a message on a topic.
I am using bean managed transactions, beginning the tran at the start of the EJB method and committing it in the end. In case of any exceptions, rollback is called. The onMesage method of the MDB which listens to the topic has a transaction attribute of NotSupported. My dev environment is WSAD 5.1 with oracle 9i.
Now when I run this , all the operations go on as expected with the message being published, but when I commit the transaction, a RollBackException is thrown.
The stack trace is given below.
[4/29/04 17:20:48:342 IST] cd7703c RegisteredRes E WTRN0063E: An illegal attempt to commit a one phase capable resource with existing two phase capable resources has occurred. [17:20:48,374] ERROR - [uk.co.isesolutions.apps.bdvs.core.session.ManageStatisticsBean.updateManage Statistics(ManageStatisticsBean.java:139)] Exception occured in ManageStatisticsBean.updateManageStatistics. javax.transaction.RollbackException  at com.ibm.ws.Transaction.JTA.TransactionImpl.commit(TransactionImpl.java:1076) at com.ibm.ws.Transaction.JTA.TranManagerImpl.commit(TranManagerImpl.java:150) at com.ibm.ws.Transaction.JTA.TranManagerSet.commit(TranManagerSet.java:182) at com.ibm.ws.Transaction.JTA.UserTransactionImpl.commit(UserTransactionImpl.ja va:262) at com.ibm.ejs.container.UserTransactionWrapper.commit(UserTransactionWrapper.j ava:239) at uk.co.isesolutions.apps.bdvs.core.session.ManageStatisticsBean.updateManageS tatistics(ManageStatisticsBean.java:109) at uk.co.isesolutions.apps.bdvs.core.session.EJSRemoteStatelessManageStatistics _aa42c741.updateManageStatistics(EJSRemoteStatelessManageStatistics_aa42c741 .java:22) at uk.co.isesolutions.apps.bdvs.core.session._ManageStatistics_Stub.updateManag eStatistics(_ManageStatistics_Stub.java:263) at uk.co.isesolutions.apps.bdvs.web.admin.biz.StatisticsDelegate.updateManageSt atistics(StatisticsDelegate.java:35) at uk.co.isesolutions.apps.bdvs.web.admin.biz.BDVSStatisticsHandler.updateStati sticsConfig(BDVSStatisticsHandler.java:165) at uk.co.isesolutions.apps.bdvs.web.admin.biz.BDVSStatisticsHandler.execute(BDV SStatisticsHandler.java:98) at uk.co.isesolutions.apps.bdvs.web.admin.biz.BDVSStatisticsHandler.processRequ est(BDVSStatisticsHandler.java:51) at uk.co.isesolutions.apps.bdvs.web.admin.biz.ControllerServlet.processRequest( ControllerServlet.java:168) at uk.co.isesolutions.apps.bdvs.web.admin.biz.ControllerServlet.doPost(Controll erServlet.java:69) at javax.servlet.http.HttpServlet (HttpServlet.java:760) at javax.servlet.http.HttpServlet (HttpServlet.java:853) at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServle tInstance.java:110) at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecy cleServlet.java:174) at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServ let.java:313) at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecyc leServlet.java:116) at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java :283) at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidSer vletReferenceState.java:42) at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletIns tanceReference.java:40) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch( WebAppRequestDispatcher.java:974) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppReques tDispatcher.java:555) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequest Dispatcher.java:200) at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119) at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker .java:276) at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(C achedInvocation.java:71) at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletReq uestProcessor.java:182) at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListene r.java:334) at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.jav a:56) at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618) at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593) [17:20:48,374] ERROR - [uk.co.isesolutions.apps.bdvs.core.session.ManageStatisticsBean.updateManage Statistics(ManageStatisticsBean.java:146)] Exception occured while roll back of transaction javax.transaction.RollbackException  at com.ibm.ws.Transaction.JTA.TransactionImpl.commit(TransactionImpl.java:1076) at com.ibm.ws.Transaction.JTA.TranManagerImpl.commit(TranManagerImpl.java:150) at com.ibm.ws.Transaction.JTA.TranManagerSet.commit(TranManagerSet.java:182) at com.ibm.ws.Transaction.JTA.UserTransactionImpl.commit(UserTransactionImpl.ja va:262) at com.ibm.ejs.container.UserTransactionWrapper.commit(UserTransactionWrapper.j ava:239) at uk.co.isesolutions.apps.bdvs.core.session.ManageStatisticsBean.updateManageS tatistics(ManageStatisticsBean.java:109) at uk.co.isesolutions.apps.bdvs.core.session.EJSRemoteStatelessManageStatistics _aa42c741.updateManageStatistics(EJSRemoteStatelessManageStatistics_aa42c741 .java:22) at uk.co.isesolutions.apps.bdvs.core.session._ManageStatistics_Stub.updateManag eStatistics(_ManageStatistics_Stub.java:263) at uk.co.isesolutions.apps.bdvs.web.admin.biz.StatisticsDelegate.updateManageSt atistics(StatisticsDelegate.java:35) at uk.co.isesolutions.apps.bdvs.web.admin.biz.BDVSStatisticsHandler.updateStati sticsConfig(BDVSStatisticsHandler.java:165) at uk.co.isesolutions.apps.bdvs.web.admin.biz.BDVSStatisticsHandler.execute(BDV SStatisticsHandler.java:98) at uk.co.isesolutions.apps.bdvs.web.admin.biz.BDVSStatisticsHandler.processRequ est(BDVSStatisticsHandler.java:51) at uk.co.isesolutions.apps.bdvs.web.admin.biz.ControllerServlet.processRequest( ControllerServlet.java:168) at uk.co.isesolutions.apps.bdvs.web.admin.biz.ControllerServlet.doPost(Controll erServlet.java:69) at javax.servlet.http.HttpServlet (HttpServlet.java:760) at javax.servlet.http.HttpServlet (HttpServlet.java:853) at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServle tInstance.java:110) at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecy cleServlet.java:174) at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServ let.java:313) at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecyc leServlet.java:116) at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java :283) at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidSer vletReferenceState.java:42) at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletIns tanceReference.java:40) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch( WebAppRequestDispatcher.java:974) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppReques tDispatcher.java:555) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequest Dispatcher.java:200) at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119) at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker .java:276) at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(C achedInvocation.java:71) at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletReq uestProcessor.java:182) at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListene r.java:334) at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.jav a:56) at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618) at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593) [17:20:48,530] ERROR - [uk.co.isesolutions.apps.bdvs.web.admin.biz.BDVSStatisticsHandler.processReq uest(BDVSStatisticsHandler.java:55)] BDVSAdminException has occured. GVSAdminException at uk.co.isesolutions.apps.bdvs.core.session.ManageStatisticsBean.updateManageS tatistics(ManageStatisticsBean.java:148) at uk.co.isesolutions.apps.bdvs.core.session.EJSRemoteStatelessManageStatistics _aa42c741.updateManageStatistics(EJSRemoteStatelessManageStatistics_aa42c741 .java:22) at uk.co.isesolutions.apps.bdvs.core.session._ManageStatistics_Stub.updateManag eStatistics(_ManageStatistics_Stub.java:263) at uk.co.isesolutions.apps.bdvs.web.admin.biz.StatisticsDelegate.updateManageSt atistics(StatisticsDelegate.java:35) at uk.co.isesolutions.apps.bdvs.web.admin.biz.BDVSStatisticsHandler.updateStati sticsConfig(BDVSStatisticsHandler.java:165) at uk.co.isesolutions.apps.bdvs.web.admin.biz.BDVSStatisticsHandler.execute(BDV SStatisticsHandler.java:98) at uk.co.isesolutions.apps.bdvs.web.admin.biz.BDVSStatisticsHandler.processRequ est(BDVSStatisticsHandler.java:51) at uk.co.isesolutions.apps.bdvs.web.admin.biz.ControllerServlet.processRequest( ControllerServlet.java:168) at uk.co.isesolutions.apps.bdvs.web.admin.biz.ControllerServlet.doPost(Controll erServlet.java:69) at javax.servlet.http.HttpServlet (HttpServlet.java:760) at javax.servlet.http.HttpServlet (HttpServlet.java:853) at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServle tInstance.java:110) at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecy cleServlet.java:174) at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServ let.java:313) at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecyc leServlet.java:116) at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java :283) at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidSer vletReferenceState.java:42) at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletIns tanceReference.java:40) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch( WebAppRequestDispatcher.java:974) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppReques tDispatcher.java:555) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequest Dispatcher.java:200) at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119) at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker .java:276) at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(C achedInvocation.java:71) at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletReq uestProcessor.java:182) at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListene r.java:334) at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.jav a:56) at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618) at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)
I googled and found that using container managed transaction with JMS has some known problems with the 2pc protocol. So I am using the bean managed transaction.
Now is there some problem with the transaction manager of JMS or am I doing something wrong.
TIA, uthiresh
=========================================================================== To unsubscribe, send email to listserv@(protected) and include in the body of the message "signoff J2EE-INTEREST". For general help, send email to listserv@(protected) and include in the body of the message "help".
|
|
 |