Javax.transaction.SystemException: Timeout during commit processing
In my Workshop 8.1 SP2 project I have a Custom Java Control whose methods I call
from my JPF. From that custom control I create a remote connection to a Weblogic
6.1 Application server. I execute remote methods and get the expected objects
back with no problem. The problem is that I cannot return that object from my
custom control back to my jpf. As soon as the method's return statement is executed,
the process hangs for a considerable period of time and then throws the following
Exception:
An error has occurred:
Exception while commiting Tx : Name=[EJB com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.core.request.Request)],Xid=BEA1-0005BF0F3E6E72419698(655489),Status=Unknown,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=217,seconds left=42983,XAServerResourceInfo[BMResourceManager]=(ServerResourceInfo[BMResourceManager]=(state=new,assigned=none),xar=null),SCInfo[midway+cgServer]=(state=active),SCInfo[prdsdomain+prdsserver]=(state=active),properties=({weblogic.transaction.name=[EJB
com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.core.request.Request)]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=cgServer+172.23.83.174:7001+midway+t3+,
XAResources={},NonXAResources={})],CoordinatorURL=prdsserver+172.23.4.109:7041+prdsdomain+t3+);
nested exception is:
javax.transaction.SystemException: Timeout during commit processing
Start server side stack trace:
javax.transaction.SystemException: Timeout during commit processing
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:243)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:189)
at weblogic.transaction.internal.CoordinatorImpl.commit(CoordinatorImpl.java:68)
at weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:305)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:274)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
caused by: : javax.transaction.SystemException: Timeout during commit processing
Start server side stack trace:
javax.transaction.SystemException: Timeout during commit processing
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:243)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:189)
at weblogic.transaction.internal.CoordinatorImpl.commit(CoordinatorImpl.java:68)
at weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:305)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:274)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
As soon as I take out RMI calls from my custom control's code, I can return any
object I want back to my JPF. Here is the what I am thinking is happenning.
The system that runs on Weblogic 6.1 manages its own transactions and begins a
new transaction every time a session bean residing on that server is invoked.
In addition, Weblogic 8.1 starts an internal transaction when the Custom Java
Control makes a call. Could there be some kind conflict? If yes, is it possible
to disable transactions from the Java Control?
Thank you very much
Alex Mayzlin
Horst,
"aa aa" <[email protected]> wrote in message news:20701457.1093414960276.JavaMail.root@jserv5...
> we are getting the same Exception. As nobody replied to your question, it would be interesting, if you found any solution
yourself?
>
> Additional info:
> We are also getting these error messages from BEA when testing connections in pool before and after the exception:
>
> <20.08.2004 19.32 Uhr CEST> <Error> <JDBC> <BEA-001112> <Test "SELECT count(*) FROM invoice" set up for pool "ABCConnection Pool"
failed with exception: "java.sql.SQLException: ORA-01591: lock held by in-doubt distributed transaction 4.47.141655".>
Generally it's a good idea to use Oracle's system DUAL table
for testing connections on reserve. Try to change your ABCConnection
connection pool configuration to use DUAL as the test table
instead of "invoice".
Regards,
Slava Imeshev
Similar Messages
-
Timeout during commit processing
Hi All,
I am facing time out exception on test environment. It is clustered environment with 2 nodes. I have set trust domain between the two weblogic domains.
In one of my EJB method having tranaction attrbiute set as Required. In this method I also make a remote ejb call to different system for which I have set Trust.
When i execute this method , I see all my debug statement entering the method and exiting the method, after it exits my method , my client still waiting on response from this method and finally he get the java.rmi.RemoteException.
Detailed exception as below....
java.rmi.RemoteException: EJB Exception: ; nested exception is:
com.bea.control.ServiceControlException: <xml-fragment xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> <faultcode> SOAP-ENV:Client </faultcode> <faultstring> Exception while commiting Tx : Name=[EJB com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.core.request.Request)],Xid=BEA1-0074571ED882A67DA1E5(11375621),Status=Committing,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=118,seconds left=2,XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=committed,assigned=NodeOne),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@190af6,re-Registered = false),SCInfo[p2pDomain+NodeOne]=(state=committed),SCInfo[mycompany+NodeOne]=(state=committing),properties=({weblogic.transaction.name=[EJB com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.core.request.Request)], weblogic.jdbc=t3://192.168.86.61:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=NodeOne+192.168.86.61:7001+p2pDomain+t3+, XAResources={},NonXAResources={})],CoordinatorURL=NodeOne+192.168.86.61:7001+p2pDomain+t3+); nested exception is:
javax.transaction.SystemException: Timeout during commit processing </faultstring> <detail>
Exception while commiting Tx : Name=[EJB com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.core.request.Request)],Xid=BEA1-0074571ED882A67DA1E5(11375621),Status=Committing,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=118,seconds left=2,XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=committed,assigned=NodeOne),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@190af6,re-Registered = false),SCInfo[p2pDomain+NodeOne]=(state=committed),SCInfo[mycompany+NodeOne]=(state=committing),properties=({weblogic.transaction.name=[EJB com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.core.request.Request)], weblogic.jdbc=t3://192.168.86.61:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=NodeOne+192.168.86.61:7001+p2pDomain+t3+, XAResources={},NonXAResources={})],CoordinatorURL=NodeOne+192.168.86.61:7001+p2pDomain+t3+); nested exception is:
javax.transaction.SystemException: Timeout during commit processing </detail></xml-fragment>
at weblogic.ejb20.internal.EJBRuntimeUtils.throwRemoteException(EJBRuntimeUtils.java:102)
at weblogic.ejb20.internal.BaseEJBHome.handleSystemException(BaseEJBHome.java:307)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:263)
at weblogic.ejb20.internal.StatelessEJBObject.postInvoke(StatelessEJBObject.java:140)
at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(SyncDispatcher_k1mrl8_EOImpl.java:56)
at com.bea.wlw.runtime.core.dispatcher.Dispatcher.remoteDispatch(Dispatcher.java:161)
at com.bea.wlw.runtime.core.dispatcher.ServiceHandleImpl.invoke(ServiceHandleImpl.java:436)
at com.bea.wlw.runtime.core.dispatcher.WlwProxyImpl._invoke(WlwProxyImpl.java:326)
at com.bea.wlw.runtime.core.dispatcher.WlwProxyImpl.invoke(WlwProxyImpl.java:315)
at $Proxy17.updatePurchaseOrder(Unknown Source)
at newpageflow1.Newpageflow1Controller.begin(Newpageflow1Controller.jpf:75)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.bea.wlw.netui.pageflow.FlowController.invokeActionMethod(FlowController.java:1519)
at com.bea.wlw.netui.pageflow.FlowController.getActionMethodForward(FlowController.java:1445)
at com.bea.wlw.netui.pageflow.FlowController.internalExecute(FlowController.java:776)
at com.bea.wlw.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:211)
at com.bea.wlw.netui.pageflow.FlowController.execute(FlowController.java:606)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:1354)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:650)
at com.bea.wlw.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:527)
at com.bea.wlw.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:152)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:293)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:326)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.superForward(PageFlowRequestProcessor.java:1301)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor$DefaultHttpRedirector.forward(PageFlowRequestProcessor.java:1317)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.doForward(PageFlowRequestProcessor.java:1199)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:637)
at com.bea.wlw.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:527)
at com.bea.wlw.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:152)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:293)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6724)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
Caused by: com.bea.control.ServiceControlException: <xml-fragment xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> <faultcode> SOAP-ENV:Client </faultcode> <faultstring> Exception while commiting Tx : Name=[EJB com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.core.request.Request)],Xid=BEA1-0074571ED882A67DA1E5(11375621),Status=Committing,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=118,seconds left=2,XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=committed,assigned=NodeOne),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@190af6,re-Registered = false),SCInfo[p2pDomain+NodeOne]=(state=committed),SCInfo[mycompany+NodeOne]=(state=committing),properties=({weblogic.transaction.name=[EJB com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.core.request.Request)], weblogic.jdbc=t3://192.168.86.61:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=NodeOne+192.168.86.61:7001+p2pDomain+t3+, XAResources={},NonXAResources={})],CoordinatorURL=NodeOne+192.168.86.61:7001+p2pDomain+t3+); nested exception is:
javax.transaction.SystemException: Timeout during commit processing </faultstring> <detail>
Exception while commiting Tx : Name=[EJB com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.core.request.Request)],Xid=BEA1-0074571ED882A67DA1E5(11375621),Status=Committing,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=118,seconds left=2,XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=committed,assigned=NodeOne),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@190af6,re-Registered = false),SCInfo[p2pDomain+NodeOne]=(state=committed),SCInfo[mycompany+NodeOne]=(state=committing),properties=({weblogic.transaction.name=[EJB com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.core.request.Request)], weblogic.jdbc=t3://192.168.86.61:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=NodeOne+192.168.86.61:7001+p2pDomain+t3+, XAResources={},NonXAResources={})],CoordinatorURL=NodeOne+192.168.86.61:7001+p2pDomain+t3+); nested exception is:
javax.transaction.SystemException: Timeout during commit processing </detail></xml-fragment>
at com.bea.wlw.runtime.core.control.ServiceControlImpl.invoke(ServiceControlImpl.jcs:1233)
at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:377)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:248)
at com.bea.wlw.runtime.jcs.container.JcsContainer.invoke(JcsContainer.java:85)
at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(BaseContainerBean.java:224)
at com.bea.wlw.runtime.core.bean.SLSBContainerBean.invoke(SLSBContainerBean.java:103)
at com.bea.wlwgen.StatelessContainer_ly05hg_ELOImpl.invoke(StatelessContainer_ly05hg_ELOImpl.java:99)
at com.bea.wlwgen.GenericStatelessSLSBContAdpt.invokeOnBean(GenericStatelessSLSBContAdpt.java:62)
at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.runAsInvoke(BaseDispatcherBean.java:153)
at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.invoke(BaseDispatcherBean.java:54)
at com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(SyncDispatcherBean.java:168)
at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(SyncDispatcher_k1mrl8_EOImpl.java:46)
... 53 more
appreciated any help on this .....
hiteshHi skrai,
From the moment the begin call is made, the timer starts ticking independently of the flow of your processing. When the timeout expires, the Transaction Manager will roll the transaction back. The first you hear of that happening may be when calls you make in the thread associated with the transaction start to throw exceptions, since it is not possible to propagate a rolled-back transaction (what would be the point, the results of the call will not persist under any circumstances?).
Therefore suspending a transaction has no impact whatsoever on its timeout; it simply breaks the association between transaction and thread. If your code suspends a transaction and then goes to sleep for a week, it should expect to find that the transaction has timed out while it slept.
So when U invoke an EJB with "NotSupported" tx attribute, the clock with the tx manager is still ticking.
Hope my explanation helped to resolve your issue.
Thanks
-Rais -
Hi, I'm doing a "proof of concept" on XA transaction spanning two servers.
In order to get it as simple as possible I have configured two servers and
deployed the same MDB on both. I'm also only using JMS resources to simplify
the test.
The goal is to send a message to two different JMS servers (each deployed in
a Weblogic server) both coordinated by an XA UserTransaction started in the
client.
The deployed MDB of each server just listens to a topic and prints out the
received TextMessage.
The configuration is as follows:
* Server 1
Domain name: a
Server name: a00
config.xml (extract):
<JMSServer Name="a.a00.JMSServer" PagingStore="a.a00.JMSFileStore"
Store="a.a00.JMSFileStore" Targets="a00">
<JMSTopic JNDIName="xajms.test.Topic" Name="XA JMS Proof of Concept"
StoreEnabled="true"/>
</JMSServer>
<JMSFileStore Directory="config/a/a00.jmsfilestore"
Name="a.a00.JMSFileStore"/>
<JMSConnectionFactory JNDIName="a.a00.JMSConnectionFactory"
Name="a.a00.JMS Connection Factory" Targets="a00"
UserTransactionsEnabled="true" XAConnectionFactoryEnabled="true"/>
* Server 2
Domain name: b
Server name: b00
config.xml (extract):
<JMSServer Name="b.b00.JMSServer" PagingStore="b.b00.JMSFileStore"
Store="b.b00.JMSFileStore" Targets="b00">
<JMSTopic JNDIName="xajms.test.Topic" Name="XA JMS Proof of Concept"
StoreEnabled="true"/>
</JMSServer>
<JMSFileStore Directory="config/b/b00.jmsfilestore"
Name="b.b00.JMSFileStore"/>
<JMSConnectionFactory JNDIName="b.b00.JMSConnectionFactory"
Name="b.b00.JMS Connection Factory" Targets="b00"
UserTransactionsEnabled="true" XAConnectionFactoryEnabled="true"/>
and here is an extract of client code:
068 UserTransaction utx;
069
070 InitialContext ctx1,ctx2;
071
072 System.out.println("Retrieving initial context for server 1");
073 ctx1 = (InitialContext) getInitialContext(SERVER_1,PORT_1);
074
075 System.out.println("Retrieving initial context for server 2");
076 ctx2 = (InitialContext) getInitialContext(SERVER_2,PORT_2);
077
078 utx = (UserTransaction)
ctx1.lookup("javax.transaction.UserTransaction");
079 utx.setTransactionTimeout(30);
080
081 System.out.println("Begining transaction");
082 utx.begin();
083
084 System.out.println("Sending message to server 1");
085 ref.send(ctx1, JMS_FACTORY_1, args[0]);
086
087 System.out.println("Sending message to server 2");
088 ref.send(ctx2, JMS_FACTORY_2, args[0]);
089
090 System.out.println("Ending transaction...");
091 if (args[1].equals("commit"))
092 utx.commit();
093 else
094 utx.rollback();
end the result of executing it from a third machine:
CASE I:
Retrieving initial context for server 1
Retrieving initial context for server 2
Begining transaction
Sending message to server 1
Sending message to server 2
Ending transaction...
javax.transaction.SystemException: SubCoordinator 'b00+127.0.0.1:7001+b+'
not available
Start server side stack trace:
javax.transaction.SystemException: SubCoordinator 'b00+127.0.0.1:7001+b+'
not available
at
weblogic.transaction.internal.TransactionImpl.abort(TransactionImpl.java:965
at
weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:20
0)
at
weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTran
sactionImpl.java:1619)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
nsactionImpl.java:217)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
Impl.java:189)
at
weblogic.transaction.internal.CoordinatorImpl.commit(CoordinatorImpl.java:68
at
weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:360)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:329)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
2)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:140)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:121)
End server side stack trace
<<no stack trace available>>
--------------- nested within: ------------------
weblogic.transaction.RollbackException: SubCoordinator
'b00+127.0.0.1:7001+b+' not available
Start server side stack trace:
javax.transaction.SystemException: SubCoordinator 'b00+127.0.0.1:7001+b+'
not available
at
weblogic.transaction.internal.TransactionImpl.abort(TransactionImpl.java:965
at
weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:20
0)
at
weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTran
sactionImpl.java:1619)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
nsactionImpl.java:217)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
Impl.java:189)
at
weblogic.transaction.internal.CoordinatorImpl.commit(CoordinatorImpl.java:68
at
weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:360)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:329)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
2)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:140)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:121)
--------------- nested within: ------------------
weblogic.transaction.RollbackException: SubCoordinator
'b00+127.0.0.1:7001+b+' not available - with nested exception:
[javax.transaction.SystemException: SubCoordinator 'b00+127.0.0.1:7001+b+'
not available]
at
weblogic.transaction.internal.TransactionImpl.throwRollbackException(Transac
tionImpl.java:1524)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
nsactionImpl.java:265)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
Impl.java:189)
at
weblogic.transaction.internal.CoordinatorImpl.commit(CoordinatorImpl.java:68
at
weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:360)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:329)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
2)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:140)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:121)
End server side stack trace
- with nested exception:
[javax.transaction.SystemException: SubCoordinator 'b00+127.0.0.1:7001+b+'
not available
Start server side stack trace:
javax.transaction.SystemException: SubCoordinator 'b00+127.0.0.1:7001+b+'
not available
at
weblogic.transaction.internal.TransactionImpl.abort(TransactionImpl.java:965
at
weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:20
0)
at
weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTran
sactionImpl.java:1619)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
nsactionImpl.java:217)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
Impl.java:189)
at
weblogic.transaction.internal.CoordinatorImpl.commit(CoordinatorImpl.java:68
at
weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:360)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:329)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
2)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:140)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:121)
End server side stack trace
at
weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.
java:85)
at
weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:136)
at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
at $Proxy3.commit(Unknown Source)
at
weblogic.transaction.internal.TransactionImpl.commit(TransactionImpl.java:29
4)
at
weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManag
erImpl.java:247)
at
weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManag
erImpl.java:240)
at xajms.client.Send2BothTopics.main(Send2BothTopics.java:110)
real 1m6.530s
user 0m1.380s
sys 0m0.050s
If I swap message sending order the output changes to:
CASE II:
Retrieving initial context for server 1
Retrieving initial context for server 2
Begining transaction
Sending message to server 2
Sending message to server 1
Ending transaction...
weblogic.transaction.internal.TimedOutException: Timed out
tx=0:8c9a9deee02fe21e after 30 seconds
Start server side stack trace:
weblogic.transaction.internal.TimedOutException: Timed out
tx=0:8c9a9deee02fe21e after 30 seconds
at
weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransaction
Impl.java:1228)
at
weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTr
ansactions(ServerTransactionManagerImpl.java:488)
at
weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManag
erImpl.java:1629)
at
weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTran
sactionManagerImpl.java:451)
at
weblogic.transaction.internal.TransactionManagerImpl$1.run(TransactionManage
rImpl.java:1595)
at java.lang.Thread.run(Thread.java:479)
End server side stack trace
<<no stack trace available>>
--------------- nested within: ------------------
weblogic.transaction.RollbackException: Timed out tx=0:8c9a9deee02fe21e
after 30 seconds
Start server side stack trace:
weblogic.transaction.internal.TimedOutException: Timed out
tx=0:8c9a9deee02fe21e after 30 seconds
at
weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransaction
Impl.java:1228)
at
weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTr
ansactions(ServerTransactionManagerImpl.java:488)
at
weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManag
erImpl.java:1629)
at
weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTran
sactionManagerImpl.java:451)
at
weblogic.transaction.internal.TransactionManagerImpl$1.run(TransactionManage
rImpl.java:1595)
at java.lang.Thread.run(Thread.java:479)
--------------- nested within: ------------------
weblogic.transaction.RollbackException: Timed out tx=0:8c9a9deee02fe21e
after 30 seconds - with nested exception:
[weblogic.transaction.internal.TimedOutException: Timed out
tx=0:8c9a9deee02fe21e after 30 seconds]
at
weblogic.transaction.internal.TransactionImpl.throwRollbackException(Transac
tionImpl.java:1524)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
nsactionImpl.java:265)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
Impl.java:189)
at
weblogic.transaction.internal.CoordinatorImpl.commit(CoordinatorImpl.java:68
at
weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:360)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:329)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
2)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:140)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:121)
End server side stack trace
- with nested exception:
[weblogic.transaction.internal.TimedOutException: Timed out
tx=0:8c9a9deee02fe21e after 30 seconds
Start server side stack trace:
weblogic.transaction.internal.TimedOutException: Timed out
tx=0:8c9a9deee02fe21e after 30 seconds
at
weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransaction
Impl.java:1228)
at
weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTr
ansactions(ServerTransactionManagerImpl.java:488)
at
weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManag
erImpl.java:1629)
at
weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTran
sactionManagerImpl.java:451)
at
weblogic.transaction.internal.TransactionManagerImpl$1.run(TransactionManage
rImpl.java:1595)
at java.lang.Thread.run(Thread.java:479)
End server side stack trace
at
weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.
java:85)
at
weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:136)
at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
at $Proxy3.commit(Unknown Source)
at
weblogic.transaction.internal.TransactionImpl.commit(TransactionImpl.java:29
4)
at
weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManag
erImpl.java:247)
at
weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManag
erImpl.java:240)
at xajms.client.Send2BothTopics.main(Send2BothTopics.java:110)
real 1m32.231s
user 0m1.390s
sys 0m0.030s
not to be said that I have "some" questions about it:
1. Why it doesn't work?
2. Why order of message sending brings two different results?
3. In CASE I:
What is the meaning of the exception "javax.transaction.SystemException:
SubCoordinator 'b00+127.0.0.1:7001+b+' not available"
Why is it using the loopback (127.0.0.1) ip? Is that code being runned
inside the server with the SERVER_2 (192.168.1.3) ip?
4. In case II:
How is that the message of the exception is
"weblogic.transaction.internal.TimedOutException: Timed out
tx=0:8c9a9deee02fe21e after 30 seconds" when it's clear the program took
more than one and a half minutes to execute?
Most of the time is spent after printing the "Ending transaction..." line.
The first part of the program is executed in a few seconds (about 2 or 3 it
depends of the time to get initial context against both servers)
I'm really puzzled with this. I don't know what to think about it. Is this
so weird nobody have tried something like this?
I have done some other test for which the results are:
a) Commenting lines related to UserTransaction (82,91-94)
It works OK. Both servers receive the message.
b) Commenting lines 85 or 88 (related to sending messages to each server)
It works OK. Both servers receive the message. I pressume there is no
"real" XA transaction as there is only one resource involved on it.
c) In CASE I launching the client with "rollback" as second parameter I
neither get any exception nor messages are delivered which would be OK
d) In CASE II launching the client with "rollback" as second parameter I get
a "javax.transaction.SystemException: Timeout during rollback processing"
and messages are not delivered.
Any idea?. I really need this to work in order to free our server for heavy
asyncronous loads and deploy new stuff on it.
PS.
I attach both servers config.xml files and both MDB and client full code. If
you are going to test it you must add a new user and group to weblogic
default file realm:
New user: subscriber
New group: xajms
of course you must add the new user to the new group in order to make it
work.
Here are the lines extracted from server's domain "fileRealm.properties"
file reflecting the new user and group (defined on ejb-jar.xml and
weblogic-ejb-jar.xml files on the "role" section):
group.xajms=subscriber
user.subscriber=0x6b9a704bebc709dd083edd61ed000236eb23987f
The client receives two parameters. The first one is a string to be sent as
message body, the second one is either "commit" or "rollback" just to test
XA transaction doing it's work as expected.
Thanks in advance.
Regards.
Ignacio.
[xajmspoc.zip]
do you connect to 10g database inside onBusinessEvent using Non-XA/XA connection??. I guess it could be bcoz of Non-XA connection (or) XA Without Global Transaction support, and this connection is listed with the transaction manager and it is trying to commit it after onMessage.
For Global Transactions options, go to your weblogic console and check the following path.
(Datasource -> Advanced Options -> Global Transactions -> Honor Global Transactions should be true)
Let me know if you need any help
Rao Kotha. -
Timeout during rollback processing
I am getting the "Timeout during rollback processing (javax.transaction.SystemException)" exception in the JMS application on WebLogic 8.1. The JMS provider is Tibco EMS 4.3. I am using XAQueueConnectionFactory. The JTA timeout configured in WebLogic is 120s. This exception occurs after some time once the server/application is started even though the application has not processed any JMS messages.
I also noticed that the number of total transactions and number of rolledback transactions in WebLogic (server->Monitoring->JTA) keep on increasing even though there is no message to process. I am not sure if this is expected behavior of JTA.
Can someone please help?Hi,
The reason due to which I did not put stack trace earlier is, I'm using an open source ESB called Mule. So, the root cause of the problem could be in Mule or WebLogic. I am not sure about it. I'm also checking the issue on Mule forum, but any clue from this forum would be really great. The stack trace is
02:00:46,562 ERROR [jmsXAQueueConnector.QUALIFIED.receiver.3] ? (?:?) -
Message : Transaction rollback failed
Type : org.mule.transaction.TransactionRollbackException
Code : MULE_ERROR-92098
JavaDoc : http://mule.codehaus.org/docs/apidocs/org/mule/transaction/TransactionRollbackException.html
Exception stack is:
1. Timeout during rollback processing (javax.transaction.SystemException)
weblogic.transaction.internal.ServerTransactionImpl:393 (http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/transaction/SystemException.html)
2. Transaction rollback failed (org.mule.transaction.TransactionRollbackException)
org.mule.transaction.XaTransaction:123 (http://mule.codehaus.org/docs/apidocs/org/mule/transaction/TransactionRollbackException.html)
Root Exception stack trace:
javax.transaction.SystemException: Timeout during rollback processing
at weblogic.transaction.internal.ServerTransactionImpl.internalRollback(ServerTransactionImpl.java:393)
at weblogic.transaction.internal.ServerTransactionImpl.rollback(ServerTransactionImpl.java:350)
at org.mule.transaction.XaTransaction.doRollback(XaTransaction.java:118)
at org.mule.transaction.AbstractTransaction.rollback(AbstractTransaction.java:116)
at org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:81)
at org.mule.providers.TransactedPollingMessageReceiver.poll(TransactedPollingMessageReceiver.java:110)
at org.mule.providers.jms.TransactedJmsMessageReceiver.poll(TransactedJmsMessageReceiver.java:154)
at org.mule.providers.PollingMessageReceiver.run(PollingMessageReceiver.java:71)
at org.mule.impl.work.WorkerContext.run(WorkerContext.java:310)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:643)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:668)
at java.lang.Thread.run(Thread.java:534)
******************************************************************************** -
Hello, we have an OracleWeblogic 10.3.2 running on a Solaris OS.
In this AppServer we have a FullStack J2EE Application executing distributed transactions that involve 3 manageable resources:
TxDatasource (EJB),
NonTxDatasource with enableTwoPhaseCommit and
JMS
Some of the transactions are timing out while in 'Logging' state and I just cant figure out what the root cause is. As a defensive action I lowered the JTA Timeout seconds because I noticed the 'Logging' phase was taking too long and then timing out. Idea here was not to have too many threads hanging in Logging state and therefore use the JTA Timeout to overcome this problem and minimize impact.
Below, I'm posting a few exceptions thrown in applicaiton log. Any help is very appreciated.
####<Aug 12, 2011 11:40:11 AM EDT> <Error> <EJB> <brzfxap1> <FefxServer> <[ACTIVE] ExecuteThread: '175' for queue: 'weblogic.kernel.Default (self-tuning)'> <JG47515> <> <> <1313163611120> <BEA-010026> <Exception occurred during commit of transaction Name=[EJB com.citicorp.fx.credit.CreditServiceBean.askCreditQuery(com.citicorp.fx.credit.data.CreditQueryRequestData)],Xid=BEA1-7DB913B4CB2B36D47CB7(1248714554),Status=Rolled back. [Reason=javax.transaction.SystemException: Timed out while in 'Logging' state],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=82,seconds left=60,XAServerResourceInfo[TWOraDS_fefx]=(ServerResourceInfo[TWOraDS_fefx]=(state=rolledback,assigned=FefxServer),xar=TWOraDS,re-Registered = false),XAServerResourceInfo[WLStore_fefx_FefxFileStore]=(ServerResourceInfo[WLStore_fefx_FefxFileStore]=(state=rolledback,assigned=FefxServer),xar=WLStore_fefx_FefxFileStore1032009487,re-Registered = false),SCInfo[fefx+FefxServer]=(state=rolledback),properties=({weblogic.transaction.name=[EJB com.citicorp.fx.credit.CreditServiceBean.askCreditQuery(com.citicorp.fx.credit.data.CreditQueryRequestData)]}),local properties=({weblogic.jdbc.jta.TWOraDS=[ No XAConnection is attached to this TxInfo ]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=FefxServer+169.193.4.91:8107+fefx+t3+, XAResources={WLStore_fefx_FefxFileStore, TWOraDS_fefx, WLStore_fefx__WLS_FefxServer, weblogic.jdbc.wrapper.JTSXAResourceImpl, WSATGatewayRM_FefxServer_fefx},NonXAResources={})],CoordinatorURL=FefxServer+169.193.4.91:8107+fefx+t3+): weblogic.transaction.RollbackException: Timed out while in 'Logging' state
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1848)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:339)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:233)
at weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteObject.java:621)
at weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(StatelessRemoteObject.java:60)
at weblogic.ejb.container.internal.BaseRemoteObject.postInvokeTxRetry(BaseRemoteObject.java:441)
at com.citicorp.fx.credit.CreditService_6w08fk_EOImpl.askCreditQuery(CreditService_6w08fk_EOImpl.java:75)
at com.citicorp.fx.client.creditquery.QueryProcessor.handleEvent(QueryProcessor.java:77)
at org.jac.creation.ProcessorAction.handleEvent(ProcessorAction.java:64)
at org.jac.runtime.AbstractAction.handleSecuredEvent(AbstractAction.java:73)
at org.jac.runtime.StateImpl.handleEvent(StateImpl.java:66)
at org.jac.runtime.ControllerImpl.handleEvent(ControllerImpl.java:123)
at org.jac.session.SessionImpl.handleEvent(SessionImpl.java:55)
at org.jac.session.SessionImpl.handleEvent(SessionImpl.java:78)
at org.jac.creation.JacImpl.handleEvent(JacImpl.java:53)
at org.jac.runtime.JACExecutor.handleEvent(JACExecutor.java:111)
at org.jac.runtime.JACExecutor.handleEventBySessionID(JACExecutor.java:103)
at org.jac.http.ControllerFilter.doFilter(ControllerFilter.java:63)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at com.citicorp.fx.util.compression.CompressionFilter.doFilter(CompressionFilter.java:189)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at com.citicorp.security.web.WebLogicSiteminderAuthenticationFilter.doFilter(WebLogicSiteminderAuthenticationFilter.java:65)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: javax.transaction.SystemException: Timed out while in 'Logging' state
at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:1797)
at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(ServerTransactionManagerImpl.java:1609)
at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1885)
at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManagerImpl.java:1519)
at weblogic.transaction.internal.WLSTimer.timerExpired(WLSTimer.java:35)
at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
... 2 more
.>
####<Aug 12, 2011 11:40:11 AM EDT> <Error> <EJB> <brzfxap1> <FefxServer> <[ACTIVE] ExecuteThread: '154' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1313163611119> <BEA-010026> <Exception occurred during commit of transaction Xid=BEA1-7DBB13B4CB2B36D47CB7(977835896),Status=Rolled back. [Reason=javax.transaction.SystemException: Timed out while in 'Logging' state],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=60,seconds left=60,XAServerResourceInfo[WLStore_fefx_FefxFileStore]=(ServerResourceInfo[WLStore_fefx_FefxFileStore]=(state=rolledback,assigned=FefxServer),xar=WLStore_fefx_FefxFileStore1032009487,re-Registered = false),XAServerResourceInfo[TWOraDS_fefx]=(ServerResourceInfo[TWOraDS_fefx]=(state=rolledback,assigned=FefxServer),xar=TWOraDS,re-Registered = false),SCInfo[fefx+FefxServer]=(state=rolledback),local properties=({weblogic.jdbc.jta.TWOraDS=[ No XAConnection is attached to this TxInfo ]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=FefxServer+169.193.4.91:8107+fefx+t3+, XAResources={WLStore_fefx_FefxFileStore, TWOraDS_fefx, WLStore_fefx__WLS_FefxServer, weblogic.jdbc.wrapper.JTSXAResourceImpl, WSATGatewayRM_FefxServer_fefx},NonXAResources={})],CoordinatorURL=FefxServer+169.193.4.91:8107+fefx+t3+): weblogic.transaction.RollbackException: Timed out while in 'Logging' state
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1848)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:339)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:233)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:500)
at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:371)
at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:327)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4585)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:4271)
at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3747)
at weblogic.jms.client.JMSSession.access$000(JMSSession.java:114)
at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5096)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: javax.transaction.SystemException: Timed out while in 'Logging' state
at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:1797)
at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(ServerTransactionManagerImpl.java:1609)
at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1885)
at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManagerImpl.java:1519)
at weblogic.transaction.internal.WLSTimer.timerExpired(WLSTimer.java:35)
at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
... 3 more
.>
This is the stack trace of the thread that hangs while waiting for the lock to write in the transaction file:
"[ACTIVE] ExecuteThread: '64' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=3 tid=0x000000010dea3000 nid=0x1e2 in Object.wait() [0xfffffffda03ff000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at weblogic.transaction.internal.ServerTransactionImpl.log(ServerTransactionImpl.java:2005)
- locked <0xfffffffe64964b30> (a weblogic.transaction.internal.ServerTransactionImpl)
at weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2320)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:273)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:233)
at weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteObject.java:621)
at weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(StatelessRemoteObject.java:60)
at weblogic.ejb.container.internal.BaseRemoteObject.postInvokeTxRetry(BaseRemoteObject.java:441)
at com.citicorp.fx.credit.CreditService_6w08fk_EOImpl.askCreditQuery(CreditService_6w08fk_EOImpl.java:75)
at com.citicorp.fx.client.creditquery.QueryProcessor.handleEvent(QueryProcessor.java:77)
at org.jac.creation.ProcessorAction.handleEvent(ProcessorAction.java:64)
at org.jac.runtime.AbstractAction.handleSecuredEvent(AbstractAction.java:73)
at org.jac.runtime.StateImpl.handleEvent(StateImpl.java:66)
at org.jac.runtime.ControllerImpl.handleEvent(ControllerImpl.java:123)
at org.jac.session.SessionImpl.handleEvent(SessionImpl.java:55)
- locked <0xfffffffe0860e618> (a org.jac.session.SessionImpl)
at org.jac.session.SessionImpl.handleEvent(SessionImpl.java:78)
- locked <0xfffffffe0860e618> (a org.jac.session.SessionImpl)
at org.jac.creation.JacImpl.handleEvent(JacImpl.java:53)
at org.jac.runtime.JACExecutor.handleEvent(JACExecutor.java:111)
at org.jac.runtime.JACExecutor.handleEventBySessionID(JACExecutor.java:103)
at org.jac.http.ControllerFilter.doFilter(ControllerFilter.java:63)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at com.citicorp.fx.util.compression.CompressionFilter.doFilter(CompressionFilter.java:189)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at com.citicorp.security.web.WebLogicSiteminderAuthenticationFilter.doFilter(WebLogicSiteminderAuthenticationFilter.java:65)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Edited by: user8727499 on Aug 12, 2011 11:57 AMHello, we have an OracleWeblogic 10.3.2 running on a Solaris OS.
In this AppServer we have a FullStack J2EE Application executing distributed transactions that involve 3 manageable resources:
TxDatasource (EJB),
NonTxDatasource with enableTwoPhaseCommit and
JMS
Some of the transactions are timing out while in 'Logging' state and I just cant figure out what the root cause is. As a defensive action I lowered the JTA Timeout seconds because I noticed the 'Logging' phase was taking too long and then timing out. Idea here was not to have too many threads hanging in Logging state and therefore use the JTA Timeout to overcome this problem and minimize impact.
Below, I'm posting a few exceptions thrown in applicaiton log. Any help is very appreciated.
####<Aug 12, 2011 11:40:11 AM EDT> <Error> <EJB> <brzfxap1> <FefxServer> <[ACTIVE] ExecuteThread: '175' for queue: 'weblogic.kernel.Default (self-tuning)'> <JG47515> <> <> <1313163611120> <BEA-010026> <Exception occurred during commit of transaction Name=[EJB com.citicorp.fx.credit.CreditServiceBean.askCreditQuery(com.citicorp.fx.credit.data.CreditQueryRequestData)],Xid=BEA1-7DB913B4CB2B36D47CB7(1248714554),Status=Rolled back. [Reason=javax.transaction.SystemException: Timed out while in 'Logging' state],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=82,seconds left=60,XAServerResourceInfo[TWOraDS_fefx]=(ServerResourceInfo[TWOraDS_fefx]=(state=rolledback,assigned=FefxServer),xar=TWOraDS,re-Registered = false),XAServerResourceInfo[WLStore_fefx_FefxFileStore]=(ServerResourceInfo[WLStore_fefx_FefxFileStore]=(state=rolledback,assigned=FefxServer),xar=WLStore_fefx_FefxFileStore1032009487,re-Registered = false),SCInfo[fefx+FefxServer]=(state=rolledback),properties=({weblogic.transaction.name=[EJB com.citicorp.fx.credit.CreditServiceBean.askCreditQuery(com.citicorp.fx.credit.data.CreditQueryRequestData)]}),local properties=({weblogic.jdbc.jta.TWOraDS=[ No XAConnection is attached to this TxInfo ]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=FefxServer+169.193.4.91:8107+fefx+t3+, XAResources={WLStore_fefx_FefxFileStore, TWOraDS_fefx, WLStore_fefx__WLS_FefxServer, weblogic.jdbc.wrapper.JTSXAResourceImpl, WSATGatewayRM_FefxServer_fefx},NonXAResources={})],CoordinatorURL=FefxServer+169.193.4.91:8107+fefx+t3+): weblogic.transaction.RollbackException: Timed out while in 'Logging' state
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1848)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:339)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:233)
at weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteObject.java:621)
at weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(StatelessRemoteObject.java:60)
at weblogic.ejb.container.internal.BaseRemoteObject.postInvokeTxRetry(BaseRemoteObject.java:441)
at com.citicorp.fx.credit.CreditService_6w08fk_EOImpl.askCreditQuery(CreditService_6w08fk_EOImpl.java:75)
at com.citicorp.fx.client.creditquery.QueryProcessor.handleEvent(QueryProcessor.java:77)
at org.jac.creation.ProcessorAction.handleEvent(ProcessorAction.java:64)
at org.jac.runtime.AbstractAction.handleSecuredEvent(AbstractAction.java:73)
at org.jac.runtime.StateImpl.handleEvent(StateImpl.java:66)
at org.jac.runtime.ControllerImpl.handleEvent(ControllerImpl.java:123)
at org.jac.session.SessionImpl.handleEvent(SessionImpl.java:55)
at org.jac.session.SessionImpl.handleEvent(SessionImpl.java:78)
at org.jac.creation.JacImpl.handleEvent(JacImpl.java:53)
at org.jac.runtime.JACExecutor.handleEvent(JACExecutor.java:111)
at org.jac.runtime.JACExecutor.handleEventBySessionID(JACExecutor.java:103)
at org.jac.http.ControllerFilter.doFilter(ControllerFilter.java:63)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at com.citicorp.fx.util.compression.CompressionFilter.doFilter(CompressionFilter.java:189)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at com.citicorp.security.web.WebLogicSiteminderAuthenticationFilter.doFilter(WebLogicSiteminderAuthenticationFilter.java:65)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: javax.transaction.SystemException: Timed out while in 'Logging' state
at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:1797)
at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(ServerTransactionManagerImpl.java:1609)
at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1885)
at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManagerImpl.java:1519)
at weblogic.transaction.internal.WLSTimer.timerExpired(WLSTimer.java:35)
at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
... 2 more
.>
####<Aug 12, 2011 11:40:11 AM EDT> <Error> <EJB> <brzfxap1> <FefxServer> <[ACTIVE] ExecuteThread: '154' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1313163611119> <BEA-010026> <Exception occurred during commit of transaction Xid=BEA1-7DBB13B4CB2B36D47CB7(977835896),Status=Rolled back. [Reason=javax.transaction.SystemException: Timed out while in 'Logging' state],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=60,seconds left=60,XAServerResourceInfo[WLStore_fefx_FefxFileStore]=(ServerResourceInfo[WLStore_fefx_FefxFileStore]=(state=rolledback,assigned=FefxServer),xar=WLStore_fefx_FefxFileStore1032009487,re-Registered = false),XAServerResourceInfo[TWOraDS_fefx]=(ServerResourceInfo[TWOraDS_fefx]=(state=rolledback,assigned=FefxServer),xar=TWOraDS,re-Registered = false),SCInfo[fefx+FefxServer]=(state=rolledback),local properties=({weblogic.jdbc.jta.TWOraDS=[ No XAConnection is attached to this TxInfo ]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=FefxServer+169.193.4.91:8107+fefx+t3+, XAResources={WLStore_fefx_FefxFileStore, TWOraDS_fefx, WLStore_fefx__WLS_FefxServer, weblogic.jdbc.wrapper.JTSXAResourceImpl, WSATGatewayRM_FefxServer_fefx},NonXAResources={})],CoordinatorURL=FefxServer+169.193.4.91:8107+fefx+t3+): weblogic.transaction.RollbackException: Timed out while in 'Logging' state
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1848)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:339)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:233)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:500)
at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:371)
at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:327)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4585)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:4271)
at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3747)
at weblogic.jms.client.JMSSession.access$000(JMSSession.java:114)
at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5096)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: javax.transaction.SystemException: Timed out while in 'Logging' state
at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:1797)
at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(ServerTransactionManagerImpl.java:1609)
at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1885)
at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManagerImpl.java:1519)
at weblogic.transaction.internal.WLSTimer.timerExpired(WLSTimer.java:35)
at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
... 3 more
.>
This is the stack trace of the thread that hangs while waiting for the lock to write in the transaction file:
"[ACTIVE] ExecuteThread: '64' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=3 tid=0x000000010dea3000 nid=0x1e2 in Object.wait() [0xfffffffda03ff000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at weblogic.transaction.internal.ServerTransactionImpl.log(ServerTransactionImpl.java:2005)
- locked <0xfffffffe64964b30> (a weblogic.transaction.internal.ServerTransactionImpl)
at weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2320)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:273)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:233)
at weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteObject.java:621)
at weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(StatelessRemoteObject.java:60)
at weblogic.ejb.container.internal.BaseRemoteObject.postInvokeTxRetry(BaseRemoteObject.java:441)
at com.citicorp.fx.credit.CreditService_6w08fk_EOImpl.askCreditQuery(CreditService_6w08fk_EOImpl.java:75)
at com.citicorp.fx.client.creditquery.QueryProcessor.handleEvent(QueryProcessor.java:77)
at org.jac.creation.ProcessorAction.handleEvent(ProcessorAction.java:64)
at org.jac.runtime.AbstractAction.handleSecuredEvent(AbstractAction.java:73)
at org.jac.runtime.StateImpl.handleEvent(StateImpl.java:66)
at org.jac.runtime.ControllerImpl.handleEvent(ControllerImpl.java:123)
at org.jac.session.SessionImpl.handleEvent(SessionImpl.java:55)
- locked <0xfffffffe0860e618> (a org.jac.session.SessionImpl)
at org.jac.session.SessionImpl.handleEvent(SessionImpl.java:78)
- locked <0xfffffffe0860e618> (a org.jac.session.SessionImpl)
at org.jac.creation.JacImpl.handleEvent(JacImpl.java:53)
at org.jac.runtime.JACExecutor.handleEvent(JACExecutor.java:111)
at org.jac.runtime.JACExecutor.handleEventBySessionID(JACExecutor.java:103)
at org.jac.http.ControllerFilter.doFilter(ControllerFilter.java:63)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at com.citicorp.fx.util.compression.CompressionFilter.doFilter(CompressionFilter.java:189)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at com.citicorp.security.web.WebLogicSiteminderAuthenticationFilter.doFilter(WebLogicSiteminderAuthenticationFilter.java:65)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Edited by: user8727499 on Aug 12, 2011 11:57 AM -
Javax.transaction.SystemException: Exceeded maximum allowed transactions on
Hi,
I receive the following error when restarting weblogic server instance. Same error occurs when re-deploying the package.
I had previously deployed this package OK. Nothing has changed for the jar file it is complaining about.
I have restarted all java processes and even had the unix server restarted, however the same error comes up. I have no idea what to do.
Currently I have no application deployed as it fails every time. Nobody I know has seen this error or knows how to recover.
Please help!
[Deployer:149034]An exception occurred for task [Deployer:149026]Deploy application NBAPP_1_10_2B on nbste_cluster.: weblogic.management.DeploymentException:
<b>Exception:weblogic.management.ApplicationException: activate failed for mca-ejbs.jar
Module: mca-ejbs.jar Error: Exception activating module: EJBModule(mca-ejbs.jar,status=PREPARED)
Unable to deploy EJB: eontec.bankframe.TransactionMetaData from mca-ejbs.jar:
[EJB:011007]Unable to create EJB Persistence Manager.
javax.transaction.SystemException: Exceeded maximum allowed transactions on server 'nbste_app1b_1'</b>
at weblogic.transaction.internal.ServerTransactionManagerImpl.createTransaction(ServerTransactionManagerImpl.java:1395)
at weblogic.transaction.internal.TransactionManagerImpl.internalBegin(TransactionManagerImpl.java:248)
at weblogic.transaction.internal.ServerTransactionManagerImpl.internalBegin(ServerTransactionManagerImpl.java:303)
at weblogic.transaction.internal.ServerTransactionManagerImpl.begin(ServerTransactionManagerImpl.java:259)
at weblogic.ejb20.manager.BaseEntityManager.setupPM(BaseEntityManager.java:248)
at weblogic.ejb20.manager.BaseEntityManager.setup(BaseEntityManager.java:210)
at weblogic.ejb20.manager.DBManager.setup(DBManager.java:162)
at weblogic.ejb20.manager.ROManager.setup(ROManager.java:109)
at weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.activate(ClientDrivenBeanInfoImpl.java:1057)
at weblogic.ejb20.deployer.EJBDeployer.activate(EJBDeployer.java:1362)
at weblogic.ejb20.deployer.EJBModule.activate(EJBModule.java:631)
at weblogic.j2ee.J2EEApplicationContainer.activateModule(J2EEApplicationContainer.java:3274)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2173)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2146)
at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activateContainer(SlaveDeployer.java:2434)
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.doCommit(SlaveDeployer.java:2352)
at weblogic.management.deploy.slave.SlaveDeployer$Task.commit(SlaveDeployer.java:2136)
at weblogic.management.deploy.slave.SlaveDeployer.commitUpdate(SlaveDeployer.java:676)
at weblogic.drs.internal.SlaveCallbackHandler$2.execute(SlaveCallbackHandler.java:35)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
[Deployer:149034]An exception occurred for task [Deployer:149026]Deploy application NBAPP_1_10_2B on nbste_cluster.: weblogic.management.DeploymentException:
Exception:weblogic.management.ApplicationException: activate failed for mca-ejbs.jar
Module: mca-ejbs.jar Error: Exception activating module: EJBModule(mca-ejbs.jar,status=PREPARED)
Unable to deploy EJB: eontec.bankframe.TransactionMetaData from mca-ejbs.jar:
[EJB:011007]Unable to create EJB Persistence Manager.
javax.transaction.SystemException: Exceeded maximum allowed transactions on server 'nbste_app1b_2'
at weblogic.transaction.internal.ServerTransactionManagerImpl.createTransaction(ServerTransactionManagerImpl.java:1395)
at weblogic.transaction.internal.TransactionManagerImpl.internalBegin(TransactionManagerImpl.java:248)
at weblogic.transaction.internal.ServerTransactionManagerImpl.internalBegin(ServerTransactionManagerImpl.java:303)
at weblogic.transaction.internal.ServerTransactionManagerImpl.begin(ServerTransactionManagerImpl.java:259)
at weblogic.ejb20.manager.BaseEntityManager.setupPM(BaseEntityManager.java:248)
at weblogic.ejb20.manager.BaseEntityManager.setup(BaseEntityManager.java:210)
at weblogic.ejb20.manager.DBManager.setup(DBManager.java:162)
at weblogic.ejb20.manager.ROManager.setup(ROManager.java:109)
at weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.activate(ClientDrivenBeanInfoImpl.java:1057)
at weblogic.ejb20.deployer.EJBDeployer.activate(EJBDeployer.java:1362)
at weblogic.ejb20.deployer.EJBModule.activate(EJBModule.java:631)
at weblogic.j2ee.J2EEApplicationContainer.activateModule(J2EEApplicationContainer.java:3274)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2173)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2146)
at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activateContainer(SlaveDeployer.java:2434)
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.doCommit(SlaveDeployer.java:2352)
at weblogic.management.deploy.slave.SlaveDeployer$Task.commit(SlaveDeployer.java:2136)
at weblogic.management.deploy.slave.SlaveDeployer.commitUpdate(SlaveDeployer.java:676)
at weblogic.drs.internal.SlaveCallbackHandler$2.execute(SlaveCallbackHandler.java:35)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)<pre></pre><pre></pre>Hi All,
I am facing similar problem whne I try to deploy my Web part of the Application. I have JAR'ed the EJB's and that seems to get deployed properly only the web part is not getting loaded.
The following is the error message:
Exception:weblogic.management.ApplicationException: prepare failed for myWebApp
Module: annaweb Error: Could not load myWebApp: java.lang.NullPointerException
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2467)
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2379)
at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:866)
at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:594)
at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:508)
at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
--------------- nested within: ------------------
weblogic.management.ManagementException: - with nested exception:
[weblogic.management.ApplicationException:
Exception:weblogic.management.ApplicationException: prepare failed for myWebApp
Module: annaweb Error: Could not load myWebApp: java.lang.NullPointerException
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2396)
at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:866)
at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:594)
at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:508)
at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
Have anyone faced similar problems, please let me know about the solution or suggestions.
Thanks in Advance.
- Jayashree
Edited by jayashree_kumar at 01/17/2007 10:09 AM -
My application tests 2 PC commit using Oracle 8i and MQSeries
JMS as two resources and BEA Weblogic 6.0 as the resource manager
1. I have a Java Application which writes a message onto a
MQSeries Queue
2. The Application then invokes the EJB
3. The Bean starts a transaction
4. The bean now tries to retrieve the message put on the
MQSeries queue by the Java Application within the transaction (At this point
the message disappears from the queue and i am able to see it thru MQSeries explorer)
5. It then calls a method on another bean
6. This method performs two Database updates
7. After return the TprocessBean writes a new message to the queue
8. The transaction ends
Now steps 4 to 7 are participating in the transaction. If at
all anything goes wrong in step 4, step 6 or step 7 then the
transaction should be rolled back. It means that
a) The database transactions should be rolled back
b) The message should return back to the queue
The transaction spans two resources that is MQSeries and oracle 8i
When i issue a rollback() on getting an exception, I am getting the database
transactions to rollback, but the server timesout while rolling back the MQseries
read transaction i.e. the message that was read within this transaction is not
visible on the queue
However when i shut down weblogic, then that message returns back to the queue.
The timeout exception that i get is
EJB Exception caught - Rolling back Transactionjavax.ejb.EJBException
javax.transaction.SystemException: Timeout during rollback processing
at weblogic.transaction.internal.ServerTransactionImpl.rollback(ServerTransactionImpl.java:2
80)
at weblogic.transaction.internal.TransactionManagerImpl.rollback(TransactionManagerImpl.java
:229)
at myexamples.jms.tbean.TProcessBean.processJMSMessage(TProcessBean.java:117)
at myexamples.jms.tbean.TProcessBeanImpl.processJMSMessage(TProcessBeanImpl.java:130)
at myexamples.jms.tbean.TProcessBeanEOImpl.processJMSMessage(TProcessBeanEOImpl.java:68)
at myexamples.jms.tbean.TProcessBeanEOImpl_WLSkel.invoke(TProcessBeanEOImpl_WLSkel.java:125)
at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.java:373)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:128)
at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.java:237)
at weblogic.rmi.internal.BasicRequestHandler.handleRequest(BasicRequestHandler.java:118)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:17)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
could not rollback....javax.transaction.SystemException: Timeout during rollback
processing
Context for InXMLProcess bean is =weblogic.ejb20.internal.SessionEJBContextImpl@201f91
Did you enlist the MQSeries XAResource with the transaction via either static or
dynamic enlistment?
Regards,
Priscilla
"Anshuman" <[email protected]> wrote:
>
> JMS as two resources and BEA Weblogic 6.0 as the resource manager
>
> 1. I have a Java Application which writes a message onto a
> MQSeries Queue
> 2. The Application then invokes the EJB
> 3. The Bean starts a transaction
> 4. The bean now tries to retrieve the message put on the
> MQSeries queue by the Java Application within the transaction (At this
>point
>the message disappears from the queue and i am able to see it thru MQSeries
>explorer)
> 5. It then calls a method on another bean
> 6. This method performs two Database updates
> 7. After return the TprocessBean writes a new message to the queue
> 8. The transaction ends
>
> Now steps 4 to 7 are participating in the transaction. If at
> all anything goes wrong in step 4, step 6 or step 7 then the
> transaction should be rolled back. It means that
>a) The database transactions should be rolled back
>b) The message should return back to the queue
>The transaction spans two resources that is MQSeries and oracle 8i
>
> When i issue a rollback() on getting an exception, I am getting the
>database
>transactions to rollback, but the server timesout while rolling back
>the MQseries
>read transaction i.e. the message that was read within this transaction
>is not
>visible on the queue
>
>
>However when i shut down weblogic, then that message returns back to
>the queue.
>
>
>The timeout exception that i get is
>
>EJB Exception caught - Rolling back Transactionjavax.ejb.EJBException
>javax.transaction.SystemException: Timeout during rollback processing
> at weblogic.transaction.internal.ServerTransactionImpl.rollback(ServerTransactionImpl.java:2
>80)
> at weblogic.transaction.internal.TransactionManagerImpl.rollback(TransactionManagerImpl.java
>:229)
> at myexamples.jms.tbean.TProcessBean.processJMSMessage(TProcessBean.java:117)
> at myexamples.jms.tbean.TProcessBeanImpl.processJMSMessage(TProcessBeanImpl.java:130)
> at myexamples.jms.tbean.TProcessBeanEOImpl.processJMSMessage(TProcessBeanEOImpl.java:68)
> at myexamples.jms.tbean.TProcessBeanEOImpl_WLSkel.invoke(TProcessBeanEOImpl_WLSkel.java:125)
>
> at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.java:373)
> at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:128)
> at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.java:237)
> at weblogic.rmi.internal.BasicRequestHandler.handleRequest(BasicRequestHandler.java:118)
> at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:17)
> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>could not rollback....javax.transaction.SystemException: Timeout during
>rollback
>processing
>Context for InXMLProcess bean is =weblogic.ejb20.internal.SessionEJBContextImpl@201f91
-
Distributed Environment - Exception during commit of transact
The Application is deployed in 3 machines (Win2K) in Weblogic 6.1 SP2 with Oracle
8i as the Database - Presentation EAR file in one machine, Business Logic EAR
file in second machine and Persistence EAR file in the third machine. The Database
is also in the third machine. Tx Datasource is configured in all the 3 weblogic
instances to point to the Database.
The application has a 'Save' operation in which case the EJB in the Business Logic
Layer connects to the Datasource of the Persistence Layer. The following error
is seen in the console of the second machine (Business Logic) while Saving.
<Error> <EJB> <Exception during commit of transact
ion Name=[EJB com.toontown.matchmaker.ejb.service.BusinessProcessGatewayEJB.proc
ess(reefwork.bp.BusinessProcessEvent)],Xid=1:d4f44d847f28edb9(7225037),Status=Ro
lled back. [Reason=javax.transaction.SystemException: Aborting prepare because
s
ome resources could not be assigned],numRepliesOwedMe=0,numRepliesOwedOthers=0,s
econds since begin=1,seconds left=10,ServerResourceInfo[weblogic.jdbc.jts.Connec
tion]=(state=new,assigned=none),SCInfo[mydomain+myserver]=(state=rolledback),pro
perties=({weblogic.transaction.name=[EJB com.toontown.matchmaker.ejb.service.Bus
inessProcessGatewayEJB.process(reefwork.bp.BusinessProcessEvent)], weblogic.jdbc
=t3://130.10.11.30:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDesc
riptor=(CoordinatorURL=myserver+130.10.7.94:7001+mydomain+, Resources={})],Coord
inatorURL=myserver+130.10.7.94:7001+mydomain+): javax.transaction.SystemExceptio
n: Aborting prepare because some resources could not be assigned
at weblogic.transaction.internal.TransactionImpl.abort(TransactionImpl.java:924)
at weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:1566)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:218)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:190)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:231)
at com.toontown.matchmaker.ejb.service.BusinessProcessGatewayEJB_yd4d11_
EOImpl.process(BusinessProcessGatewayEJB_yd4d11_EOImpl.java:46)
at com.toontown.matchmaker.ejb.service.BusinessProcessGatewayEJB_yd4d11_
EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--------------- nested within: ------------------
weblogic.transaction.RollbackException: Aborting prepare because some resources
could not be assigned - with nested exception:
[javax.transaction.SystemException: Aborting prepare because some resources coul
d not be assigned]
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(
TransactionImpl.java:1475)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:263)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:190)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:231)
at com.toontown.matchmaker.ejb.service.BusinessProcessGatewayEJB_yd4d11_
EOImpl.process(BusinessProcessGatewayEJB_yd4d11_EOImpl.java:46)
at com.toontown.matchmaker.ejb.service.BusinessProcessGatewayEJB_yd4d11_
EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>
Please note that 130.10.7.94 is the IP of Business Logic Layer and 130.10.11.30
is the IP of Persistence Layer.
Thanks!Try changing the server name on either on persistence machine or business logic
machine
"Devika" <[email protected]> wrote:
>
>
The Application is deployed in 3 machines (Win2K) in Weblogic 6.1 SP2
with Oracle
8i as the Database - Presentation EAR file in one machine, Business Logic
EAR
file in second machine and Persistence EAR file in the third machine.
The Database
is also in the third machine. Tx Datasource is configured in all the
3 weblogic
instances to point to the Database.
The application has a 'Save' operation in which case the EJB in the Business
Logic
Layer connects to the Datasource of the Persistence Layer. The following
error
is seen in the console of the second machine (Business Logic) while Saving.
<Error> <EJB> <Exception during commit of transact
ion Name=[EJB com.toontown.matchmaker.ejb.service.BusinessProcessGatewayEJB.proc
ess(reefwork.bp.BusinessProcessEvent)],Xid=1:d4f44d847f28edb9(7225037),Status=Ro
lled back. [Reason=javax.transaction.SystemException: Aborting prepare
because
s
ome resources could not be assigned],numRepliesOwedMe=0,numRepliesOwedOthers=0,s
econds since begin=1,seconds left=10,ServerResourceInfo[weblogic.jdbc.jts.Connec
tion]=(state=new,assigned=none),SCInfo[mydomain+myserver]=(state=rolledback),pro
perties=({weblogic.transaction.name=[EJB com.toontown.matchmaker.ejb.service.Bus
inessProcessGatewayEJB.process(reefwork.bp.BusinessProcessEvent)], weblogic.jdbc
=t3://130.10.11.30:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDesc
riptor=(CoordinatorURL=myserver+130.10.7.94:7001+mydomain+, Resources={})],Coord
inatorURL=myserver+130.10.7.94:7001+mydomain+): javax.transaction.SystemExceptio
n: Aborting prepare because some resources could not be assigned
at weblogic.transaction.internal.TransactionImpl.abort(TransactionImpl.java:924)
at weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:1566)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:218)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:190)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:231)
at com.toontown.matchmaker.ejb.service.BusinessProcessGatewayEJB_yd4d11_
EOImpl.process(BusinessProcessGatewayEJB_yd4d11_EOImpl.java:46)
at com.toontown.matchmaker.ejb.service.BusinessProcessGatewayEJB_yd4d11_
EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--------------- nested within: ------------------
weblogic.transaction.RollbackException: Aborting prepare because some
resources
could not be assigned - with nested exception:
[javax.transaction.SystemException: Aborting prepare because some resources
coul
d not be assigned]
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(
TransactionImpl.java:1475)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:263)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:190)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:231)
at com.toontown.matchmaker.ejb.service.BusinessProcessGatewayEJB_yd4d11_
EOImpl.process(BusinessProcessGatewayEJB_yd4d11_EOImpl.java:46)
at com.toontown.matchmaker.ejb.service.BusinessProcessGatewayEJB_yd4d11_
EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>
Please note that 130.10.7.94 is the IP of Business Logic Layer and 130.10.11.30
is the IP of Persistence Layer.
Thanks! -
BEA-010026 Exception occurred during commit of transaction Xid...
Srs,
Does anyone know how can i change the IP address bellow ? is there any file with this configuration ? ( i dont know so well weblogic )
This is a unkown IP (10.26.71.28) and probably for this reason, the following error appears:
<Mar 31, 2010 1:53:48 PM BRT> <Error> <EJB> <BEA-010026> <Exception occurred during commit of transaction Xid=BEA1-012A4C55A4FA8C6F67D0(13881631),Status=Rolling Back. [Reason=javax.transaction.SystemException: SubCoordinator 'AdminServer+*10.26.71.28*:7001+tdws_domain+t3+' not available],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=167,seconds left=55,XAServerResourceInfo[JMS_ADMLoggingStore]=(ServerResourceInfo[JMS_ADMLoggingStore]=(state=rolledback,assigned=adm_managed_server),xar=JMS_ADMLoggingStore,re-Registered = false),XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=new,assigned=AdminServer),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@15d1298,re-Registered = false),SCInfo[tdws_domain+AdminServer]=(state=rolling-back),SCInfo[adm+adm_managed_server]=(state=rolledback),properties=({weblogic.jdbc=t3://*10.26.71.28*:8080, START_AND_END_THREAD_EQUAL=false}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=adm_managed_server+146.250.132.247:7001+adm+t3+, XAResources={weblogic.jdbc.wrapper.JTSXAResourceImpl, JMS_ADMLoggingStore},NonXAResources={})],CoordinatorURL=adm_managed_server+146.250.132.247:7001+adm+t3+): javax.transaction.SystemException: SubCoordinator 'AdminServer+*10.26.71.28*:7001+tdws_domain+t3+' not available
at weblogic.transaction.internal.TransactionImpl.abort(TransactionImpl.java:1045)
at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:173)
at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:163)
at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1202)
at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:2007)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:257)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:228)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:430)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:333)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:298)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2698)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2610)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
--------------- nested within: ------------------
weblogic.transaction.RollbackException: SubCoordinator 'AdminServer+10.26.71.28:7001+tdws_domain+t3+' not available - with nested exception:
[javax.transaction.SystemException: SubCoordinator 'AdminServer+10.26.71.28:7001+tdws_domain+t3+' not available]
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1687)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:311)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:228)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:430)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:333)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:298)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2698)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2610)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
Thanks,
Claudio
Edited by: user1098890 on 31/03/2010 12:35Did anyone ever find an answer to this? I have the same problem.
-
File not found and exception during commit of transaction
Hi All,<p></p>
We are using weblogic 8.1 sp5 and oracle 9.2. In a business process (jpd), I am getting this message and exception immediately after publishing a request document(xml) to a channel and goes to the next process node and the process aborts. Any thoughts are appreciated. Please let me know soon.
<p></p>
Thanks in advance!<p></p>
Prashant
<p></P>
<u>Message:</u>
Could not find a file for class oracle.jdbc.driver.T4CXAConnection
<p></P>
If I hit continue while debugging then I get this <u>exception:</u><p></P>
<Error> <EJB> <BEA-010026> <Exception occurred during commit of transaction Xid=BEA1-0049BFC11227BCBD651D(24359063),Status=Rolled back. [Reason=javax.ejb.EJBException: Exception on insert: java.lang.RuntimeException: Unable to serialize invocable],numRepliesOwedMe=0,numR
epliesOwedOthers=0,seconds since begin=645,seconds left=60,XAServerResourceInfo[JMS_cgJMSStore]=(ServerResourceInfo[JMS_cgJMSStore]=(state=rolledback,assigned=qbAdmin),xar=JMS_cgJMSStore,re-Registered = false),XAServerResourceInfo[cgPool]=(ServerResourceInfo[cgPool]=(state=rolledback,assigned=qbAdmi
n),xar=cgPool,re-Registered = false),SCInfo[qbDomain+qbAdmin]=(state=rolledback),SCInfo[current+qprocwlp1]=(state=rolledback),properties=({}),local properties=({modifiedListeners=[weblogic.ejb20.internal.TxManager$TxListener@397bfb], weblogic.jdbc.jta.cgPool=weblogic.jdbc.wrapper.TxInfo@4eb65b}),Own
erTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=qbAdmin+10.1.130.38:7003+qbDomain+t3+, XAResources={JMS_FileStore, JMS_QProcureFileStore, cgPool, JMS_cgJMSStore, bpmArchPool},NonXAResources={})],CoordinatorURL=qbAdmin+10.1.130.38:7003+qbDomain+t3+): javax.ejb.EJBException:
Exception on insert: java.lang.RuntimeException: Unable to serialize invocable at com.bea.wlw.runtime.core.bean.BMPContainerBean.ejbStore(BMPContainerBean.java:1837) at com.bea.wli.bpm.runtime.ProcessContainerBean.ejbStore(ProcessContainerBean.java:193) at com.bea.wli.bpm.runtime.ProcessContainerBean.ejbStore(ProcessContainerBean.java:171) at com.bea.wlwgen.PersistentContainer_bajz39_Impl.ejbStore(PersistentContainer_bajz39_Impl.java:149)at weblogic.ejb20.manager.ExclusiveEntityManager.beforeCompletion(ExclusiveEntityManager.java:593) at weblogic.ejb20.internal.TxManager$TxListener.beforeCompletion(TxManager.java:737) at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:1026) at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:116) at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1202) at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:1974) at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:257) at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:228) at weblogic.ejb20.internal.MDListener.execute(MDListener.java:430) at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:333) at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:298) at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2686) at weblogic.jms.client.JMSSession.execute(JMSSession.java:2598) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
Caused by: java.lang.Exception: Exception on insert: java.lang.RuntimeException: Unable to serialize invocable
at .bea.wlw.runtime.core.bean.BMPContainerBean.doInsert(BMPContainerBean.java:1909) at com.bea.wlw.runtime.core.bean.BMPContainerBean.ejbStore(BMPContainerBean.java:1817)... 18 more
Caused by: java.lang.RuntimeException: Unable to serialize invocable at com.bea.wlw.runtime.core.container.Invocable.toByteArray(Invocable.java:812) at com.bea.wlw.runtime.core.bean.BMPContainerBean.doInsert(BMPContainerBean.java:1859)... 19 more
Caused by: java.io.NotSerializableException: java.util.AbstractList$ListItr at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
at com.bea.wlw.runtime.core.container.Invocable.toByteArray(Invocable.java:803)
... 20 more
--------------- nested within: ------------------
weblogic.transaction.RollbackException: Unexpected exception in beforeCompletion: sync=weblogic.ejb20.internal.TxManager$TxListener@397bfb
Exception on insert: java.lang.RuntimeException: Unable to serialize invocable - with nested exception:
[javax.ejb.EJBException: Exception on insert: java.lang.RuntimeException: Unable to serialize invocable] at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1684) at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:311) at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:228) at weblogic.ejb20.internal.MDListener.execute(MDListener.java:430) at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:333)One possible cause of this issue is that your JPD may have some non-transient field(s) which is/are not Serializable. Check for the warnings in the Workshop, that may point you to such fields.
~Balwinder -
Exception during commit of transaction in wli when using oracle database
I have configured oracle Database instead of pointbase in wli 9.2
While getting the response through callback in wli process (from Worklist console)this errror is coming "Exception occurred during commit of transaction ".
What should I do to remove this error??
Stack trace is
<Jan 6, 2007 5:19:59 PM CST> <Error> <EJB> <BEA-010026> <Exception occurred during commit of transac
tion Xid=BEA1-012806F477B49C8F6264(7312912),Status=Rolled back. [Reason=weblogic.utils.NestedRuntime
Exception: Error in beforeCompletion],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=
0,seconds left=60,XAServerResourceInfo[WLStore_oracle1domain_cgJMSStore]=(ServerResourceInfo[WLStore
oracle1domaincgJMSStore]=(state=rolledback,assigned=AdminServer),xar=WLStore_oracle1domain_cgJMSSt
ore1269044,re-Registered = false),XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(Ser
verResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=rolledback,assigned=AdminServer),xar
=weblogic.jdbc.wrapper.JTSXAResourceImpl@14c0a31,re-Registered = false),SCInfo[oracle1domain+AdminSe
rver]=(state=rolledback),properties=({weblogic.jdbc=t3://199.81.36.226:7001}),local properties=({mod
ifiedListeners=[weblogic.ejb.container.internal.TxManager$TxListener@1442c7b], class com.bea.wli.bpm
.runtime.JpdContainer$TxnListener1168125300187=com.bea.wli.bpm.runtime.JpdContainer$TxnListener@1313
24d}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer+199.8
1.36.226:7001+oracle1domain+t3+, XAResources={WLStore_oracle1domain_cgJMSStore, WLStore_oracle1domai
n_WseeFileStore, WLStore_oracle1domain__WLS_AdminServer, weblogic.jdbc.wrapper.JTSXAResourceImpl},No
nXAResources={})],CoordinatorURL=AdminServer+199.81.36.226:7001+oracle1domain+t3+): weblogic.transac
tion.RollbackException: Unexpected exception in beforeCompletion: sync=weblogic.ejb.container.intern
al.TxManager$TxListener@1442c7b
Error in beforeCompletion
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java
:1782)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.
java:331)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:463)
at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:335)
at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:291)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4060)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:3953)
at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:4467)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
.>Did you get a solution to this problem ?I am seeing similar exceptions intermittently .
Thanks,
Meena. -
Transactional triggers and commit processing
I have only been an active member of this thread for a couple of weeks and have tried to contribute to a few postings. But I have also noticed lots of postings relating to the use of DML statements inside what I would call non commit time triggers.
What I mean here is, for example, a WHEN-BUTTON-PRESSED trigger that does inserts, updates, deletes, followed by the COMMIT_FORM procedure.
I thought it might be useful to draw attention to the possible pitfalls of this approach. I'm not saying that this approach is wrong - far from it, but sometimes it means that people aren't leveraging the functionality that you get "for free" from Forms.
By coding some DML followed by a Commit_Form, you are not getting any rollback functionality from Forms. For example:
INSERT INTO A
INSERT INTO B
COMMIT_FORM;
Let's imagine that the insert into A worked but the insert into B failed for some reason. The user gets an unhandled exception. Now imagine that the cause of the error is cleared up, and the user presses the button (or whatever the invokation action was) again, and the commit works. You will have 2 records in A and 1 in B. You may not have expected that, and without coding your own rollback/savepoint that's what you would get.
You also (1) don't get a Working... message without coding it yourself, and (2) get the "No changes to commit" message; removing this is the subject of many threads on this site.
If you have a block which is based over a table which you need to update, then all of the DML statements ought to be coded inside PRE/POST/ON INSERT/UDPATE/DELETE statements, or other Forms transactional triggers (pre-database-commit etc..). If you need to change other tables then put the DML for them inside those triggers. Then you don’t have to worry about which records the user changed – if the user didn’t touch them then Forms won’t fire the triggers. And when you call the COMMIT_FORM procedure, Forms will fire the triggers for you and if any of them fail, it will rollback back to where the COMMIT_FORM started.
An example in 1 thread I saw this morning, was a Delete button, which was to delete the current record in a multi-record block. This button performed the “DELETE FROM <table> WHERE <key=:block.key>” followed by a Commit. Then of course the block needed to be re-queried to reflect the fact that the record had gone. Using the power of Forms to simply call the DELETE_RECORD procedure would have achieved the same result without needing to requery the block. And Forms would do the delete by ROWID, the fastest way of doing it.
If you don’t have a block based over a table, then you can consider creating a dummy block which uses Transactional Triggers. Code an ON-INSERT on that block which includes the DML you want to execute. Then in the trigger initiating the commit processing you would do something like:
:DUMMY_BLOCK.ITEM1 := ‘X’;
COMMIT_FORM;
IF (NOT FORM_SUCCESS) OR :SYSTEM.FORM_STATUS != ‘QUERY’ THEN
-- the commit failed
END IF;
Then you’ll get a nice Working.. message and full rollback control.
I think the moral of what I’m trying to get across is to use the power of Forms in the way it handles the transactions. Whilst we moan about it, it is actually quite good at that!
I hope this posting is taken in a positive light, I am certainly not trying to teach anyone to “suck eggs”.
PS. I find it ironic that you were prevented from coding DML statements outside of commit time triggers, in Forms 2.3!Thank you, Kevin. Very informative.
-
Exception occurred during commit of transaction Name
Hi,
I am getting following error while updating a Table through the application.
I am running the application on welogic 9.2.. I have added new Constants to the the existing methods and i am trying to update the database table row with this new constant. It works fine if i use the existing constants in from the constant file.
*<Error> <EJB> <BEA-010026> <Exception occurred during commit of transaction Name=[EJB com.mfizac.oe.session.so.SOServiceBean.completeRoutes(com.mfizac.framework.data.DataMap)],Xid=BEA1-00F6B94908E2407590E1(1552254),Status=Rolled back. [Reason=weblogic.utils.NestedRuntimeException: Error in beforeCompletion],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=0,seconds left=60,XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=rolledback,assigned=AdminServer),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@221fc5,re-Registered = false),SCInfo[mfizac+AdminServer]=(state=rolledback),properties=({weblogic.transaction.name=[EJB com.mfizac.oe.session.so.SOServiceBean.completeRoutes(com.mfizac.framework.data.DataMap)], weblogic.jdbc=t3://192.9.200.122:7001}),local properties=({modifiedListeners=[weblogic.ejb.container.internal.TxManager$TxListener@1cc7bf]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer+192.9.200.122:7001+mfizac+t3+, XAResources={weblogic.jdbc.wrapper.JTSXAResourceImpl, WLStore_mfizac_JMSMessageStore},NonXAResources={})],CoordinatorURL=AdminServer+192.9.200.122:7001+mfizac+t3+): weblogic.transaction.RollbackException: Unexpected exception in beforeCompletion: sync=weblogic.ejb.container.internal.TxManager$TxListener@1cc7bf*
Error in beforeCompletion
* at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1809)*
* at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:331)*
* at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)*
* at weblogic.ejb.container.internal.BaseEJBObject.postInvoke1(BaseEJBObject.java:546)*
* at weblogic.ejb.container.internal.StatelessEJBObject.postInvoke1(StatelessEJBObject.java:72)*
* at weblogic.ejb.container.internal.BaseEJBObject.postInvokeTxRetry(BaseEJBObject.java:381)*
* at com.mfizac.oe.session.so.SOService_mfkez4_EOImpl.completeRoutes(SOService_mfkez4_EOImpl.java:1573)*
* at com.mfizac.oe.session.so.SOService_mfkez4_EOImpl_WLSkel.invoke(Unknown Source)*
* at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:553)*
* at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:224)*
* at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:443)*
* at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)*
* at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)*
* at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:439)*
* at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:61)*
* at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:983)*
* at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)*
* at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)*
*.>*
Any help would be greatly appriciated.
Thanks,
Ven
Edited by: user1545630 on Jan 12, 2010 1:21 PM
Edited by: user1545630 on Jan 12, 2010 1:23 PM
Edited by: user1545630 on Jan 12, 2010 1:26 PM
Edited by: user1545630 on Jan 12, 2010 1:39 PMHi,
I am getting following error while updating a Table through the application.
I am running the application on welogic 9.2.. I have added new Constants to the the existing methods and i am trying to update the database table row with this new constant. It works fine if i use the existing constants in from the constant file.
*<Error> <EJB> <BEA-010026> <Exception occurred during commit of transaction Name=[EJB com.mfizac.oe.session.so.SOServiceBean.completeRoutes(com.mfizac.framework.data.DataMap)],Xid=BEA1-00F6B94908E2407590E1(1552254),Status=Rolled back. [Reason=weblogic.utils.NestedRuntimeException: Error in beforeCompletion],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=0,seconds left=60,XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=rolledback,assigned=AdminServer),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@221fc5,re-Registered = false),SCInfo[mfizac+AdminServer]=(state=rolledback),properties=({weblogic.transaction.name=[EJB com.mfizac.oe.session.so.SOServiceBean.completeRoutes(com.mfizac.framework.data.DataMap)], weblogic.jdbc=t3://192.9.200.122:7001}),local properties=({modifiedListeners=[weblogic.ejb.container.internal.TxManager$TxListener@1cc7bf]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer+192.9.200.122:7001+mfizac+t3+, XAResources={weblogic.jdbc.wrapper.JTSXAResourceImpl, WLStore_mfizac_JMSMessageStore},NonXAResources={})],CoordinatorURL=AdminServer+192.9.200.122:7001+mfizac+t3+): weblogic.transaction.RollbackException: Unexpected exception in beforeCompletion: sync=weblogic.ejb.container.internal.TxManager$TxListener@1cc7bf*
Error in beforeCompletion
* at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1809)*
* at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:331)*
* at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)*
* at weblogic.ejb.container.internal.BaseEJBObject.postInvoke1(BaseEJBObject.java:546)*
* at weblogic.ejb.container.internal.StatelessEJBObject.postInvoke1(StatelessEJBObject.java:72)*
* at weblogic.ejb.container.internal.BaseEJBObject.postInvokeTxRetry(BaseEJBObject.java:381)*
* at com.mfizac.oe.session.so.SOService_mfkez4_EOImpl.completeRoutes(SOService_mfkez4_EOImpl.java:1573)*
* at com.mfizac.oe.session.so.SOService_mfkez4_EOImpl_WLSkel.invoke(Unknown Source)*
* at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:553)*
* at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:224)*
* at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:443)*
* at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)*
* at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)*
* at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:439)*
* at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:61)*
* at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:983)*
* at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)*
* at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)*
*.>*
Any help would be greatly appriciated.
Thanks,
Ven
Edited by: user1545630 on Jan 12, 2010 1:21 PM
Edited by: user1545630 on Jan 12, 2010 1:23 PM
Edited by: user1545630 on Jan 12, 2010 1:26 PM
Edited by: user1545630 on Jan 12, 2010 1:39 PM -
Hi All,
When I started admin server I was told the SOAdatasource (one of the datasources usual for SOA), global transaction protocol should be modified from 'one-phase Commit' to either 'Logging Last Resource'' or 'Emulate Two-Phase Commit'.SO I just went to below screen and changed (Supports Global Transactions checkbioc is already checked when I went there) radio box option from 'one-phase commit' to 'Logging Last Resource'
After I changed ,I clicked on save button on the same page.I got the message like 'your property got changed,but one item restart is neccessary' .I thought I need to restart the server.
So I again restarted the admin server and After that when I am started the SOA server, I am getting below error:
Jan 20, 2014 1:27:16 PM BRST> <Warning> <JTA> <BEA-110486> <Transaction BEA1-2CC7F743D067E50C6CCB cannot complete commit processing because resource [SOADataSource_soa_domain] is unavailabl
e. The transaction will be abandoned after 78,780 seconds unless all resources acknowledge the commit decision.>
<Jan 20, 2014 1:28:16 PM BRST> <Warning> <JTA> <BEA-110486> <Transaction BEA1-2CC7F743D067E50C6CCB cannot complete commit processing because resource [SOADataSource_soa_domain] is unavailabl
e. The transaction will be abandoned after 78,720 seconds unless all resources acknowledge the commit decision.>
I also tried to change that option to Emulate Two-Phase Commit.It is the same error I am geting for that option also.
I don't have any idea why it is happening.I think that error indiactes that the saved property info is not reached to other components in the same server.
In this same oracle forums, somebody told the below process :
1_ Stop your server.
2. Go to [your domain]\servers\AdminServer\data\store\default.
3. WLSADMINSERVER_[random number].DAT
4. Restart server
I did the samething ,but it is still showing same error.
Please guide me how to resolve this issue.I think there is some problem with what to restart after I change the option of transaction protocol.
Please help me out in this issueHi:
try placing the jars that represent ur driver, here
For both Windows and Linux, you must perform the following steps:
Drop the vendor-specific driver JAR files to the user_projects/domains/soainfra/lib directory.
Drop the vendor-specific driver JAR files to the <Weblogic_Home>/server/lib.
Edit the classpath to include the vendor-specific jar file in <Weblogic_HOME>/common/bin/commEnv.sh
This info was copied, from here: http://docs.oracle.com/cd/E21764_01/integration.1111/e10231/adptr_db.htm#CHDBEJDC
Hope this helps
best -
Javax.transaction.TransactionRolledbackException
Hi
I am getting a weblogic.ejb.extensions.LockTimedOutException when a call an entity bean for the second time. The first time I call the account entity bean from a session bean it returns all the accounts without any problems. However the next time I call the same bean from the same session I get a time out error. It seems to get as far as the last record and the locks. It also seems to use the same context for the last record as it did on the first read. See bold ctx. I have tried changing the isolation level of the beans and increasing the time out limit. I've attached the output below. Has anyone any suggestion.
Thanks
Claire
1st Read from Session Bean
After creating Data Packets601212 ::69000512
before find by account
after find by accountEJBObject: '-915484003', home: 'eon.common.Account', ctx: '-916794723', pk: 'com.bankframe.common.ejb.account.interfaces.AccountPK@64476f25'
accountDp{Account Balance=13010.7, Uncleared Funds=600.0, DATA PACKET NAME=ACCOUNT, OWNER=eontec Ltd, REQUEST_ID=00000, Currency=IEP, Debit Or Credit Balance=Credit, Account Number=69000512, Account T
ype=Chequing, Account Name=Current Account - No. 1, Sort Code=601212}
After creating Data Packets601212 ::77264300
before find by account
after find by accountEJBObject: '1776210589', home: 'eon.common.Account', ctx: '1775948445', pk: 'com.bankframe.common.ejb.account.interfaces.AccountPK@661c2d9f'
accountDp{Account Balance=2100.0, Uncleared Funds=0.0, DATA PACKET NAME=ACCOUNT, OWNER=eontec Ltd, REQUEST_ID=00000, Currency=GBP, Debit Or Credit Balance=Credit, Account Number=77264300, Account Type
=Deposit, Account Name=Term Deposit - Sterling, Sort Code=601212}
2nd Reand from Session Bean
After creating Data Packets601212 ::69000512
before find by account
after find by accountEJBObject: '704303773', home: 'eon.common.Account', ctx: '700895901', pk: 'com.bankframe.common.ejb.account.interfaces.AccountPK@64476f25'
accountDp{Account Balance=13010.7, Uncleared Funds=600.0, DATA PACKET NAME=ACCOUNT, OWNER=eontec Ltd, REQUEST_ID=00000, Currency=IEP, Debit Or Credit Balance=Credit, Account Number=69000512, Account T
ype=Chequing, Account Name=Current Account - No. 1, Sort Code=601212}
After creating Data Packets601212 ::77264300
before find by account
after find by accountEJBObject: '1776210589', home: 'eon.common.Account', ctx: '1775948445', pk: 'com.bankframe.common.ejb.account.interfaces.AccountPK@661c2d9f'
Thu Nov 23 09:45:57 GMT 2000:<I> <TX> Transaction (TxC (650302109, xid = 974971491652_10, timeout = 300, txState = Marked Rollback, root = null) rolled back after 300 sec.
FinderException weblogic.ejb.extensions.LockTimedOutException: Lock for primaryKey:com.bankframe.common.ejb.account.interfaces.AccountPK@661c2d9f timed out after 300000 ms.
finished creating dp
CustomerOverviewBean::processDataPacket()::Sending Result to the Client Excep
{DATA PACKET NAME=CUSTOMER OVERVIEW EXCEPTION, OWNER=eontec Ltd, REQUEST_ID=00000, Reason=javax.transaction.TransactionRolledbackException: Transaction: '974971491652_10' has been rolled back}
Thu Nov 23 09:46:00 GMT 2000:<I> <EJB JAR deployment ./classes/castaway-jars/customeroverview.jar> Exception during commit of transaction: '974971491652_10'
javax.transaction.RollbackException: Transaction TxC (650302109, xid = 974971491652_10, timeout = 0, txState = Rolledback, root = null has been rolled back.Reason: Transaction (TxC (650302109, xid = 9
74971491652_10, timeout = 300, txState = Marked Rollback, root = null) rolled back after 300 sec.
at weblogic.jts.internal.CoordinatorImpl.throwRollbackException(CoordinatorImpl.java:727)
at weblogic.jts.internal.CoordinatorImpl.commit(CoordinatorImpl.java:352)
at weblogic.jts.internal.TxContext.commit(TxContext.java:246)
at weblogic.ejb.internal.StatelessEJBObject.postInvokeOurTx(StatelessEJBObject.java:88)
at weblogic.ejb.internal.BaseEJBObject.postInvoke(BaseEJBObject.java, Compiled Code)
at com.bankframe.bs.customer.ejb.customeroverview.server.CustomerOverviewBeanEOImpl.processDataPacket(CustomerOverviewBeanEOImpl.java:107)
at com.bankframe.bs.customer.ejb.customeroverview.server.CustomerOverviewBeanEOImpl_ServiceStub.processDataPacket(CustomerOverviewBeanEOImpl_ServiceStub.java, Compiled Code)
at com.bankframe.ei.servlet.BankframeServlet.getResponseDataPackets(BankframeServlet.java:173)
at com.bankframe.ei.servlet.BankframeServlet.doGet(BankframeServlet.java:74)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java, Compiled Code)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java, Compiled Code)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java, Compiled Code)
at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java, Compiled Code)
at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java, Compiled Code)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java, Compiled Code)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)
Thu Nov 23 09:46:00 GMT 2000:<I> <ServletContext-General> BankframeServlet: Thu Nov 23 09:46:00 GMT 2000::BankframeServlet::Error in method getResponseDataPackets, the data packet was: {Customer Numbe
r=996324364, DATA PACKET NAME=LIST CUSTOMER ACCOUNTS, OWNER=EON Technologies Ltd, Last Logged Date=20/02/2000, REQUEST_ID=80031}
Thu Nov 23 09:46:00 GMT 2000:<I> <ServletContext-General> BankframeServlet: Thu Nov 23 09:46:00 GMT 2000::BankframeServlet::Unexpected exception in com.bankframe.bs.customer.ejb.customeroverview.serve
r.CustomerOverviewBean.processDataPacket():
javax.transaction.RollbackException: Transaction TxC (650302109, xid = 974971491652_10, timeout = 0, txState = Rolledback, root = null has been rolled back.Reason: Transaction (TxC (650302109, xid = 9
74971491652_10, timeout = 300, txState = Marked Rollback, root = null) rolled back after 300 sec.
at weblogic.jts.internal.CoordinatorImpl.throwRollbackException(CoordinatorImpl.java:727)
at weblogic.jts.internal.CoordinatorImpl.commit(CoordinatorImpl.java:352)
at weblogic.jts.internal.TxContext.commit(TxContext.java:246)
at weblogic.ejb.internal.StatelessEJBObject.postInvokeOurTx(StatelessEJBObject.java:88)
at weblogic.ejb.internal.BaseEJBObject.postInvoke(BaseEJBObject.java, Compiled Code)
at com.bankframe.bs.customer.ejb.customeroverview.server.CustomerOverviewBeanEOImpl.processDataPacket(CustomerOverviewBeanEOImpl.java:107)
at com.bankframe.bs.customer.ejb.customeroverview.server.CustomerOverviewBeanEOImpl_ServiceStub.processDataPacket(CustomerOverviewBeanEOImpl_ServiceStub.java, Compiled Code)
at com.bankframe.ei.servlet.BankframeServlet.getResponseDataPackets(BankframeServlet.java:173)
at com.bankframe.ei.servlet.BankframeServlet.doGet(BankframeServlet.java:74)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java, Compiled Code)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java, Compiled Code)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java, Compiled Code)
at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java, Compiled Code)
at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java, Compiled Code)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java, Compiled Code)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)
; nested exception is:
javax.transaction.RollbackException: Transaction TxC (650302109, xid = 974971491652_10, timeout = 0, txState = Rolledback, root = null has been rolled back.Reason: Transaction (TxC (650302109,
xid = 974971491652_10, timeout = 300, txState = Marked Rollback, root = null) rolled back after 300 sec.
What versions of the WebLogic you are using at windows and unix machines ? What are transaction attributes of the EJB methods you are invoking ?
Maybe you are looking for
-
HOW CAN I TRANSFER MY SONGS FROM OLD COMPUTER TO NEW???? PLEASE READ
MY OLD COMPUTER IS TOO SLOW AND I NEED MY SONGS TO GO ON MT NEW LAPTOP (YAY ME)... I DONT WANT TO WASTE A MILLION CD'S JUST TO GET MY NEW SONGS ON THERE SO WHAT CAN I DO....I TRIED USING A JUMO DRIVE AND THAR DOESNT WORK EITHER CUZ AS AS SOON AS I DI
-
My iPod will not Sync with iTunes.
Okay, so I have an issue with my iPod Classic, it will no longer sync with my iTunes library. When I plugged it into my computer the device needed to be restored and updated. I have done both on the device it has been reset to factory settings and is
-
Hi, Sql loader always creates the logfile with same name as .ctl file, but i want log file should get created in case of unsuccessful run not in case of successful run. Is this possible. Regards, SS
-
Full screen preview blanked out in from options in audio video settings?
Hi all, Am running FCP6 and have lost the option to preview fullscreen in the audio video settings menu. It is literally missing, as an option, though the space the option inhabited is still there. Only options I have are to preview via firewire to m
-
Create Additional Phonebook or Directory
Does anyone know of an easy way to create additional phonebooks or directories for IP phones? By using a CSV file, text file or something similar rather than an LDAP lookup? I'd like to create an option under our directories with local resturants or