Win a copy of Learn Spring Security (video course) this week in the Spring forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Transaction timeout

 
sai kinnera
Ranch Hand
Posts: 52
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi All,
I am using weblogic 8.1 and struts. When the transaction attribute for
the method persist(dto) in my EJB is 'Required', I am getting this exception. The caller is not in transaction. No clue. Can anybody suggest
any fix for this.

The stack trace:
commons.exception.ApplicationException: EJB Exception: ; nested exception is: javax.ejb.TransactionRolledbackLocalException: EJB Exception: ; nested exception is: java.lang.IllegalStateException: Cannot mark the transaction for rollback. xid=BEA1-0015FDE85573DE008E2D, status=Rolled back. [Reason=weblogic.transaction.internal.TimedOutException: Transaction timed out after 30 seconds
Xid=BEA1-0015FDE85573DE008E2D(30568978),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=30,seconds left=30,activeThread=Thread[ExecuteThread: '12' for queue: 'weblogic.kernel.Default',5,Thread Group for Queue: 'weblogic.kernel.Default'],XAServerResourceInfo[OatmialResource]=(ServerResourceInfo[OatmialResource]=(state=started,assigned=none),xar=weblogic.wtc.gwt.TuxedoXA@13f154b,re-Registered = false),SCInfo[assetsDomain+ManagedServer]=(state=active),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=ManagedServer+172.16.184.89:7003+assetsDomain+t3+, XAResources={},NonXAResources={})],CoordinatorURL=ManagedServer+172.16.184.89:7003+assetsDomain+t3+)]
at assets.inquiry.web.inquirycase.action.TestClientAddressUpdateAction.executeAction(TestClientAddressUpdateAction.java:60)
at assets.commons.web.action.BasicAction.execute(BasicAction.java:98).........

Thanks in advance,
sai
 
Marcos Maia
Ranch Hand
Posts: 977
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The transaction on the container is taking more than the maximum set for it (30s) you�ll have to check your application or change the transaction time out time using the admin console.
 
sai kinnera
Ranch Hand
Posts: 52
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Marcos!
The problem has been that it could not find a record in the mainframe.
May be held up searching the record and meanwhile the transaction timed out.
Now proper record number is being sent that solved the problem.
sai
 
Roger Chung-Wee
Ranch Hand
Posts: 1683
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Should this method only be doing a find, are you sure that you want the method to run in a transaction?
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic