Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Unread> <a name= EJB - Remote EJB - Transaction Fails to Commit

Status
Not open for further replies.

jaybytez

Programmer
Jan 8, 2003
65
0
0
US
I have an SLSB running on an instance of WebLogic 8.1.5 and has a method with a transaction attribute of Required. It calls another SLSB running on another WebLogic 8.1.5 that runs on a remote server and that EJB has a method with a transaction attribute of Required. When the first SLSB completes its call to the second EJB and gets all the data returned back to it, the first SLSB method completes and WebLogic attempts to commit the transaction. When this happens, it appears that the transaction on the second box does not commit and times out. The first SLSB has a transaction timeout of 30 seconds and the second SLSB has a transaction timeout of 500 seconds.

I found this article that relates to secure communication between WebLogic instances:

Our credentials match on both boxes and the -Dweblogic.transaction.SecurityInteropMode=value did not do anything.

This is the error that we see in our log files:

[DEBUG] 2007-06-13 08:52:33,766 [ExecuteThread: '23' for queue: 'weblogic.kernel.Default'] com.foo
.ape.dao.hipaaauth.AuthResponseDAOJdbcImpl : ADDING AuthResponse - SANDB
OX-488
[DEBUG] 2007-06-13 08:52:33,776 [ExecuteThread: '23' for queue: 'weblogic.kernel.Default'] com.foo
.ape.dao.hipaaauth.RejectResponseDAOJdbcImpl : ADDING RejectResponse for e
vent- 4570 reject type=7B
javax.transaction.TransactionRolledbackException: Exception while commiting Tx : BEA1-00360416CD7939
F523D3: weblogic.transaction.internal.TimedOutException: Transaction timed out after 123 seconds
BEA1-00360416CD7939F523D3
at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:160
0)
at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(Se
rverTransactionManagerImpl.java:1147)
at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1
882)
at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManage
rImpl.java:1064)
at weblogic.transaction.internal.WLSTimer.trigger(WLSTimer.java:31)
at weblogic.time.common.internal.ScheduledTrigger.run(ScheduledTrigger.java:243)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:229)
at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:223)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
; nested exception is:
weblogic.transaction.internal.TimedOutException: Transaction timed out after 123 seconds
BEA1-00360416CD7939F523D3
at weblogic.ejb20.internal.EJBRuntimeUtils.throwTransactionRolledback(EJBRuntimeUtils.java:2
02)
at weblogic.ejb20.internal.EJBRuntimeUtils.throwRemoteException(EJBRuntimeUtils.java:90)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:343)
at weblogic.ejb20.internal.StatelessEJBObject.postInvoke(StatelessEJBObject.java:168)
at com.foo.ape.ejb.ReceiptHandlerSession_p1z9z7_EOImpl.handleEvent(ReceiptHandler
Session_p1z9z7_EOImpl.java:56)
at com.foo.ape.web.ReceiptHandlerServlet.doPost(ReceiptHandlerServlet.java:103)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.jav
a:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletC
ontext.java:6985)
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:38
92)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
Caused by: weblogic.transaction.internal.TimedOutException: Transaction timed out after 123 seconds

BEA1-00360416CD7939F523D3
at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:160
0)
at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(Se
rverTransactionManagerImpl.java:1147)
at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1
882)
at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManage
rImpl.java:1064)
at weblogic.transaction.internal.WLSTimer.trigger(WLSTimer.java:31)
at weblogic.time.common.internal.ScheduledTrigger.run(ScheduledTrigger.java:243)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:229)
at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:223)
... 2 more
<Jun 13, 2007 8:56:32 AM PDT> <Error> <EJB> <BEA-010026> <Exception occurred during commit of transa
ction Name=[EJB com.foo.ape.ejb.ReceiptHandlerSessionEJB.handleEvent(java.lang.String)],X
id=BEA1-00360416CD7939F523D3(25864837),Status=Rolling Back. [Reason=weblogic.transaction.internal.Ti
medOutException: Transaction timed out after 123 seconds
BEA1-00360416CD7939F523D3],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=243,seconds
left=10,XAServerResourceInfo[medMgmtDbPool]=(ServerResourceInfo[medMgmtDbPool]=(state=rolledback,as
signed=ccsServer),xar=medMgmtDbPool,re-Registered = false),XAServerResourceInfo[ccsDbPool]=(ServerRe
sourceInfo[ccsDbPool]=(state=rolledback,assigned=ccsServer),xar=ccsDbPool,re-Registered = false),SCI
nfo[ccs+ccsServer]=(state=rolledback),SCInfo[DeersDirect2+Deers]=(state=rolling-back),properties=({w
eblogic.transaction.name=[EJB com.foo.ape.ejb.ReceiptHandlerSessionEJB.handleEvent(java.l
ang.String)]}),local properties=({weblogic.jdbc.jta.ccsDbPool=weblogic.jdbc.wrapper.TxInfo@c11d39, w
eblogic.jdbc.jta.medMgmtDbPool=weblogic.jdbc.wrapper.TxInfo@659b02}),OwnerTransactionManager=ServerT
M[ServerCoordinatorDescriptor=(CoordinatorURL=ccsServer+141.177.53.164:7101+ccs+t3+, XAResources={JM
S_FileStore, ccsDbPool, medMgmtDbPool, plcDbPool, JMS_jmsStore, pfDbPool, beneDbPool, cmsextDbPool,
pfuDbPool, pfcDbPool},NonXAResources={})],CoordinatorURL=ccsServer+141.177.53.164:7101+ccs+t3+): web
logic.transaction.internal.TimedOutException: Transaction timed out after 123 seconds
BEA1-00360416CD7939F523D3
at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:160
0)
at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(Se
rverTransactionManagerImpl.java:1147)
at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1
882)
at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManage
rImpl.java:1064)
at weblogic.transaction.internal.WLSTimer.trigger(WLSTimer.java:31)
at weblogic.time.common.internal.ScheduledTrigger.run(ScheduledTrigger.java:243)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:229)
at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:223)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
--------------- nested within: ------------------
weblogic.transaction.RollbackException: Transaction timed out after 123 seconds
BEA1-00360416CD7939F523D3 - with nested exception:
[weblogic.transaction.internal.TimedOutException: Transaction timed out after 123 seconds
BEA1-00360416CD7939F523D3]
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.BaseEJBObject.postInvoke(BaseEJBObject.java:320)
at weblogic.ejb20.internal.StatelessEJBObject.postInvoke(StatelessEJBObject.java:168)
at com.foo.ape.ejb.ReceiptHandlerSession_p1z9z7_EOImpl.handleEvent(ReceiptHandler
Session_p1z9z7_EOImpl.java:56)
at com.foo.ape.web.ReceiptHandlerServlet.doPost(ReceiptHandlerServlet.java:103)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.jav
a:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletC
ontext.java:6985)
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:38
92)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
.>
[FATAL] 2007-06-13 08:56:32,037 [ExecuteThread: '23' for queue: 'weblogic.kernel.Default'] com.foo
.ape.web.ReceiptHandlerServlet : ReceiptHandlerServlet caugh
t exception javax.transaction.TransactionRolledbackException Exception while commiting Tx : BEA1-003
60416CD7939F523D3: weblogic.transaction.internal.TimedOutException: Transaction timed out after 123
seconds
BEA1-00360416CD7939F523D3
at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:160
0)
at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(Se
rverTransactionManagerImpl.java:1147)
at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1
882)
at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManage
rImpl.java:1064)
at weblogic.transaction.internal.WLSTimer.trigger(WLSTimer.java:31)
at weblogic.time.common.internal.ScheduledTrigger.run(ScheduledTrigger.java:243)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:229)
at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:223)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
; nested exception is:
weblogic.transaction.internal.TimedOutException: Transaction timed out after 123 seconds
BEA1-00360416CD7939F523D3javax.transaction.TransactionRolledbackException: Exception while commiting
Tx : BEA1-00360416CD7939F523D3: weblogic.transaction.internal.TimedOutException: Transaction timed
out after 123 seconds
BEA1-00360416CD7939F523D3
at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:160
0)
at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(Se
rverTransactionManagerImpl.java:1147)
at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1
882)
at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManage
rImpl.java:1064)
at weblogic.transaction.internal.WLSTimer.trigger(WLSTimer.java:31)
at weblogic.time.common.internal.ScheduledTrigger.run(ScheduledTrigger.java:243)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:229)
at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:223)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
; nested exception is:
weblogic.transaction.internal.TimedOutException: Transaction timed out after 123 seconds
BEA1-00360416CD7939F523D3
at weblogic.ejb20.internal.EJBRuntimeUtils.throwTransactionRolledback(EJBRuntimeUtils.java:2
02)
at weblogic.ejb20.internal.EJBRuntimeUtils.throwRemoteException(EJBRuntimeUtils.java:90)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:343)
at weblogic.ejb20.internal.StatelessEJBObject.postInvoke(StatelessEJBObject.java:168)
at com.foo.ape.ejb.ReceiptHandlerSession_p1z9z7_EOImpl.handleEvent(ReceiptHandler
Session_p1z9z7_EOImpl.java:56)
at com.foo.ape.web.ReceiptHandlerServlet.doPost(ReceiptHandlerServlet.java:103)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.jav
a:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletC
ontext.java:6985)
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:38
92)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
Caused by: weblogic.transaction.internal.TimedOutException: Transaction timed out after 123 seconds

BEA1-00360416CD7939F523D3
at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:160
0)
at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(Se
rverTransactionManagerImpl.java:1147)
at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1
882)
at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManage
rImpl.java:1064)
at weblogic.transaction.internal.WLSTimer.trigger(WLSTimer.java:31)
at weblogic.time.common.internal.ScheduledTrigger.run(ScheduledTrigger.java:243)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:229)
at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:223)
... 2 more
 
We change the Context.PROVIDER_URL protocol from t3 to iiop and this resolved the problem. Why? Can anyone tell what would be the difference between t3 and iiop?

Thanks,

jay
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top