How to Define Transaction Timeout for BPEL on Weblogic ?
Consider following scenario : you want to force a BPEL to wait for maximum of 3 (180 seconds) minutes to get reply from a Partner Link. You can set the following timeouts :
a) syncMaxWaitTime to 180;
b)
c) Global JTA Timeout to 300
As a general rule, you should have following relation between the timeout parameters:
syncMaxWaitTime < BPEL MBean transaction timeout < Global Transaction Timeout
1. Setting the global transaction timeout on Weblogic domain level :
- Login to Weblogic console (http://host:port/console);
- Select Services > JTA from the left pane;
- Select JTA tab in the right pane;
- Change the parameter:
Timeout Seconds (specifies the time in which a transaction will timeout, if uncommitted);
<jta>
<timeout-seconds>300</timeout-seconds>
</jta>
2. Setting the transaction timeout for BPEL application in the deployment descriptor :
- Go to BEA_HOME\user_projects\apps\soaApps\BPELPM;
- Make a backup of ejb_ob_engine.jar (if anything goes wrong just put back the original ejb_ob_engine.jar);
- Open the ejb_ob_engine.jar (for example in WinZip) and edit weblogic-ejb-jar.xml ;
- Change the
for the following MBeans : CubeEngineBean, CubeDeliveryBean and MessageBean;
Save weblogic-ejb-jar.xml and repack the JAR (this is done automatically in WinZip); - Go to Weblogic Console -> Deployments and Lock&Edit;
- Select BPELPM and Update it -> this will force a redeployment of the JARs;
- Click Activate Changes (at this steps there might be some errors in Weblogic Console
but afternext there will be no problems);
- Stop the SOA server and start it again;
- After SOA server is started go to Deployments section and check if BPELPM is "Active". If not just start it from here by selecting and and cliking on "Start -> Servicing all requests".
- This property sets the maximum time the process result receiver waits for a result before returning;
- Can be changed via BPEL Console -> Manage BPEL Domain (10.1.3.3) / Configuration (10.1.3.4);
- Scroll down to find syncMaxWaitTime parameter. Change the parameter setting and click 'Apply' in lower right corner of the screen;
SOA 11g Book
New book on SOA 11g written by Oracle SOA Suite Product Management team is now available:
"Getting Started with Oracle SOA Suite 11g - A Hands-On Tutorial"