Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Attn:kyle-A resource was unable to process the two phase commit (Urgent)

 
Ravi Kumar Ravuru
Ranch Hand
Posts: 176
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello Folks,
I had upgraded my IBM Websphere Application Server for Multiplatforms version 4.0.2 to 4.0.5 and removed the username and password bindings for the container-managed persistence beans.When iam running my application,iam getting the following error:
W CONM6000W: A resource was unable to process the two phase commit prepare request as it only supports the one phase commit protocol. The datasource was: jdbc/(mydatasource name)
[12/16/02 11:24:12:819 PST] 24863bf5 SystemOut U Exception - JSPE315:javax.transaction.TransactionRolledbackException: CORBA TRANSACTION_ROLLEDBACK 0 No; nested exception is:
org.omg.CORBA.TRANSACTION_ROLLEDBACK: com.ibm.websphere.csi.CSITransactionRolledbackException:
at com.ibm.ejs.csi.TranStrategy.commit(TranStrategy.java:194)
at com.ibm.ejs.csi.TranStrategy.postInvoke(TranStrategy.java:67)
at com.ibm.ejs.csi.RequiresNew.postInvoke(RequiresNew.java:54)
at com.ibm.ejs.csi.TransactionControlImpl.postInvoke(TransactionControlImpl.java:443)
at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:1850)
at com.arena.analysis.EJSRemoteStatelessAnalysisSession.getFigureValue(EJSRemoteStatelessAnalysisSession.java:588)
at com.arena.analysis._AnalysisSession_Stub.getFigureValue(_AnalysisSession_Stub.java:527)
at com.arena.analysis.AnalysisSessionAccessBean.getFigureValue(AnalysisSessionAccessBean.java:176)
at _AccBudDataEntry_jsp_8._jspService(_AccBudDataEntry_jsp_8.java:302)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:142)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.java:323)
at org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:503)
at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:636)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager.java:827)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(StrictLifecycleServlet.java:167)
at com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServlet.java:297)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycleServlet.java:110)
at com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:472)
at com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletManager.java:1012)
at com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManager.java:913)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:721)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:374)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:118)
at com.ibm.servlet.engine.srt.WebAppInvoker.doForward(WebAppInvoker.java:134)
at com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:239)
at com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:67)
at com.ibm.servlet.engine.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:106)
at com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:154)
at com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(OSEListener.java:315)
at com.ibm.servlet.engine.http11.HttpConnection.handleRequest(HttpConnection.java:60)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:323)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:252)
at com.ibm.ws.util.CachedThread.run(ThreadPool.java:138)
:javax.transaction.TransactionRolledbackException: com.ibm.websphere.csi.CSITransactionRolledbackException:
at com.ibm.ejs.csi.TranStrategy.commit(TranStrategy.java:194)
at com.ibm.ejs.csi.TranStrategy.postInvoke(TranStrategy.java:67)
at com.ibm.ejs.csi.RequiresNew.postInvoke(RequiresNew.java:54)
at com.ibm.ejs.csi.TransactionControlImpl.postInvoke(TransactionControlImpl.java:443)
at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:1850)
at com.arena.analysis.EJSRemoteStatelessAnalysisSession.getFigureValue(EJSRemoteStatelessAnalysisSession.java:588)
at com.arena.analysis._AnalysisSession_Stub.getFigureValue(_AnalysisSession_Stub.java:527)
at com.arena.analysis.AnalysisSessionAccessBean.getFigureValue(AnalysisSessionAccessBean.java:176)
at _AccBudDataEntry_jsp_8._jspService(_AccBudDataEntry_jsp_8.java:302)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:142)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.java:323)
at org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:503)
at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:636)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager.java:827)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(StrictLifecycleServlet.java:167)
at com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServlet.java:297)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycleServlet.java:110)
at com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:472)
at com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletManager.java:1012)
at com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManager.java:913)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:721)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:374)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:118)
at com.ibm.servlet.engine.srt.WebAppInvoker.doForward(WebAppInvoker.java:134)
at com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:239)
at com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:67)
at com.ibm.servlet.engine.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:106)
at com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:154)
at com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(OSEListener.java:315)
at com.ibm.servlet.engine.http11.HttpConnection.handleRequest(HttpConnection.java:60)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:323)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:252)
at com.ibm.ws.util.CachedThread.run(ThreadPool.java:138)
at com.ibm.ejs.container.util.ExceptionUtil.mapCSIException(ExceptionUtil.java:37)
at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:1903)
at com.arena.analysis.EJSRemoteStatelessAnalysisSession.getFigureValue(EJSRemoteStatelessAnalysisSession.java:588)
at com.arena.analysis._AnalysisSession_Stub.getFigureValue(_AnalysisSession_Stub.java:527)
at com.arena.analysis.AnalysisSessionAccessBean.getFigureValue(AnalysisSessionAccessBean.java:176)
at _AccBudDataEntry_jsp_8._jspService(_AccBudDataEntry_jsp_8.java:302)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:142)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.java:323)
at org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:503)
at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:636)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager.java:827)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(StrictLifecycleServlet.java:167)
at com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServlet.java:297)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycleServlet.java:110)
at com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:472)
at com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletManager.java:1012)
at com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManager.java:913)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:721)
at com.ibm.se
[12/16/02 11:24:12:829 PST] 24863bf5 SystemOut U rvlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:374)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:118)
at com.ibm.servlet.engine.srt.WebAppInvoker.doForward(WebAppInvoker.java:134)
at com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:239)
at com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:67)
at com.ibm.servlet.engine.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:106)
at com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:154)
at com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(OSEListener.java:315)
at com.ibm.servlet.engine.http11.HttpConnection.handleRequest(HttpConnection.java:60)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:323)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:252)
at com.ibm.ws.util.CachedThread.run(ThreadPool.java:138)
minor code: 0 completed: No
Please help me out at the earliest.
Ravi
 
Kyle Brown
author
Ranch Hand
Posts: 3892
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Go into the configuration of your database driver in the admin console and click the little check box that says "JTA enabled".
Kyle
 
Ravi Kumar Ravuru
Ranch Hand
Posts: 176
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello Kyle,
Thanks for your response.But iam unable to find the JTA enable checkbox at the configuration of Database driver at Administrative console.Please help me out.
Ravi
 
Kyle Brown
author
Ranch Hand
Posts: 3892
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sorry, my mistake--I was thinking about the way it was done in WAS 3.5. This link http://www-3.ibm.com/software/webservers/appserv/doc/v40/ae/infocenter/was/06061405.html describes how to configure a 2PC driver for WAS 4.0.
Kyle
 
Ravi Kumar Ravuru
Ranch Hand
Posts: 176
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello Kyle,
According to the following link
http://www-3.ibm.com/software/webservers/appserv/doc/v40/ae/
infocenter/was/06061400.html
I had changed my driver specified by the link and my problem was solved.Please suggest me whether we may get any side-affects with this change.Please throw some light on two-phase commit.
Ravi
:roll:
 
Ravi Kumar Ravuru
Ranch Hand
Posts: 176
 
Kyle Brown
author
Ranch Hand
Posts: 3892
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You need two phase commit in a couple of different possibilities:
(1) You are accessing two different databases in the same transaction.
(2) You are accessing a database and another resource like a JMS Queue.
You haven't told us anything about your design, so I'm not sure which is applicable.
Kyle
 
Ravi Kumar Ravuru
Ranch Hand
Posts: 176
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello Kyle,
We had been using the following implementation class "oracle.jdbc.pool.OracleConnectionPoolDataSource" for Oracle Thin Driver in our application which was deployed in IBM Websphere Application Server for Multiplatforms 4.0.2.We had upgraded our application server from 4.0.2 to 4.0.5 and we deployed our application.We got the problem specified in my previous posts.As such our application is accessing only one database.Then we found the url which i referred in my previous post and changed the driver implementation class to "oracle.jdbc.xa.client.OracleXADataSource".Our problem was solved.
We are following the MVC architecture design as such and accessing a database.Tell me if u need any more details.
Ravi
 
JeanLouis Marechaux
Ranch Hand
Posts: 906
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ravi,
Maybe this is not my business but..
How can you have a 2-phase commit error if you're only using one DB ? Puzzling..
If you're using XA just to workaround a technical problem, be aware of the overhead it will generate
[ December 18, 2002: Message edited by: Bill Bailey ]
 
Ravi Kumar Ravuru
Ranch Hand
Posts: 176
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello Kyle,
I had explained our application architecture in my previous post.I do require the suggestions for the same from you.
Ravi
 
malini venkatraman
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Kyle,

I am facing the same problem with my application set up on WAS 4.0.6. A method in a stateless session bean tries to connect to a database using DAO and then using an entity bean (CMP). The app uses oracle thin driver. I do not prefer going to the XA here. Can you suggest how this error can be fixed in my case?

Thanks,
Malini
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic