Oracle SOA Suite - Configure transaction timeout for BPEL:
The timeouts should be configured based on the below conditionSyncMaxWaitTime < BPEL EJB's transaction timeout < Global Transaction Timeout
Setting the SyncMaxWaitTime :
This is the maximum time a synchronous BPEL process waits before it times out to get the response from another BPEL or a web service.- Login to EM console
- Expand SOA and right click on "soa-infra"
- From context menu, select SOA Administration –> BPEL properties
- Click on "More BPEL Configuration properties"
- Enter the appropriate value for the SyncMaxWaitTime
Setting the global transaction timeout at Weblogic Domain Level:
This property controls the transaction timeout seconds for active transactions. If the transaction is still in the "active" state after this time, it is automatically rolled back.
- Log into Oracle Weblogic Administration Console.
- Click Services -> JTA.
- Change the value of Timeout Seconds to the required value (the default is 30).
- Click Save.
- Restart Oracle Weblogic Server.
Overriding the transaction timeout setting for BPEL EJB's:
The timeout properties for the EJB's control the particular timeout setting for the SOA application, overriding the global setting specified by the JTA timeout
- Log into Oracle Weblogic Administration Console.
- Click Deployments.
- Expand soa-infra -> EJBs.
- Click on the configuration tab for the timeout setting for each of EJB’s listed below and the change the time out values as required.
- Following EJBs need to be updated:
BPELActivityManagerBean
BPELDeliveryBean
BPELDispatcherBean
BPELEngineBean
BPELFinderBean
BPELInstanceManagerBean
BPELProcessManagerBean
BPELSensorValuesBean
BPELServerManagerBean
- Click Save.
- Restart Oracle Weblogic Server.
Great, thanks for post.
ReplyDeleteBut sometime my managed soa_server shuts down with error:
BINDING.JCA-12511
JCA Binding Component connection issue.
JCA Binding Component is unable to create an outbound JCA (CCI) connection.
worker:WorkOut [ Produce_Message_ptt::Produce_Message(body) ] : The JCA Binding Component was unable to establish an outbound JCA CCI connection due to the following issue: javax.resource.ResourceException: Failed to setup the Resource Adapter Connection for enlistment in the transaction, Pool = 'eis/wls/Queue', javax.transaction.SystemException: start() failed on resource 'eis/wls/Queue': XAER_RMERR : A resource manager error has occured in the transaction branch
weblogic.transaction.internal.ResourceAccessException: Transaction has timed out when making request to XAResource 'eis/wls/Queue'.
at weblogic.transaction.internal.XAResourceDescriptor.startResourceUse(XAResourceDescriptor.java:668)
at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1200)
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1134)
…
My settings: SyncMaxWaitTime (360), BPEL EJB's (420), JTA(540)
Error occurs during peak loads.
How i can fix it?
thanks!
Thank you. It works
ReplyDelete