weblogic.transaction.internal.TimedOutException:Transaction timed out after 301 seconds – Oracle SOA Suite:
Frequently the Oracle BPEL instances are getting rolled back with
the following exception.
The root cause of the
issue is, JTA transaction getting timeout before completing the execution of
the BPEL instance; the JTA transaction should be active to complete the
execution successfully.
[2012-04-26T05:15:45.139+00:00]
[SOA1] [ERROR] [] [oracle.soa.bpel.engine] [tid:
orabpel.invoke.pool-4.thread-23] [userId: <anonymous>] [ecid:
0000JRh3heOAxGoqwSuXMG1F_qb^000aP5,0:1:100080683] [APP: soa-infra]
[composite_name: AM_Invoker] [component_name: AM_Invoker]
[component_instance_id: 5977508] The reason was The execution of this instance
"5977508" for process "AM_Invoker" is supposed to be in an
active jta transaction, the current transaction status is
"MARKED_ROLLBACK" . Root cause: null
[APP: soa-infra] Error while invoking bean
"cube delivery": JTA transaction is not in active state.[[
The transaction became
inactive when executing activity "5977508-BpInv1-BpSeq9.78-2" for
instance "5,977,508", bpel engine cannot proceed further without an
active transaction. please debug the invoked subsystem on why the transaction
is not in active status. the transaction status is "MARKED_ROLLBACK".
Message handle
error.error while attempting to process the message
"com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessage";
the reported exception is: Transaction Rolledback.:
weblogic.transaction.internal.TimedOutException: Transaction timed out after
301 seconds
BEA1-2980B7B48F411EE46991
Solution:
Increase the JTA time out and the BPEL EJB transaction
timeout.
Change the JTA
transaction timeout:
- Log in
to Oracle WebLogic Server Administration Console.
- In the
Domain Structure, select Services > JTA
- Increase
the JTA transaction timeout value to some higher value like 3600
Change the BPEL EJB
transaction timeout settings:
- Log in
to Oracle WebLogic Server Administration Console.
- In the
Domain Structure, click Deployments.
- Expand
soa-infra > EJBs.
- Update
the following EJBs transaction Timeout value to some higher value like
1200:
BPELActivityManagerBean
BPELEngineBean
BPELInstanceManagerBean
BPELProcessManagerBean
BPELServerManagerBean
- Click
Save.
- Restart
Oracle WebLogic Server.
There is no standard value for transaction timeout property.
We need to trail out and set the value.
If the component still fails with the transaction timeout
error then revisit the component design and tune the same.