The different time out parameter in BPEL-SOA Suite are
transaction-timeout
It is defined at two places in the SOA Suite
SOA_Oracle_Home\j2ee\home\config\transaction-manager.xml
The change of transaction time out at this configuration file is made for container level transaction.We call it global transaction time out.
and another at
SOA_Oracle_Home\j2ee\home\application-deployments\orabpel\ejb_ob_engine\orion-ejb-jar.xml
The transaction timeout defined at this configuration file is for application level.This is called as bpel Mbean transaction time out.
There are other time out properties
syncMaxWaitTime
This is deined in following configuration files
SOA_Oracle_Home\bpel\domains\domain_name\config\domain.xml
This is specific to domains in the bpel and signifies time out for synchronous bpel process only.
As per the troubleshooting guide the best way to configure these can be summarised as
transaction time out(transaction-manager.xml)> transaction time out(orion-ejb-jar.xml)>syncMaxWaitTime(domain.xml)
So it says
Global transaction time out >bpel mbean transaction time out >syncMaxWaitTimeout.
We also have time out propery in apache.That is if your bpel process is taking more than 5 minutes of time you may get a 500 internal error this is because the transaction time out defined in SOA_HOME\apache\apache\conf\httpd.conf
it is by default set to 5 mintues so after 5 minutes it will time out.One can increase that according to his requirement but it is not recommended.If a process takes long time to complete better make this process as a asynchronous process.
We have one more time out parameter in bpel
This parameter is set at partner link level
Many a time we want the functionality that our partner link should call the external web service for some period of time and if doesn't get a response it just time out.
So we can define the time out property in partner link also.
Just open the partner link wizard and move to the propery tab
As can be seen in the diagram.
This time out proerty defines the number of second to wait before getting expired.
=====================================================
These configuration were there for oc4j container however if your applications are deployed on weblogic container,the changes have to done at different configuration files.
The global transactin time out we have the time out at domain level.
It can be done at follow locations
BEA_HOME\user_projects\domains\SOADomain\config\config.xml
here it is called as timeout-seconds
Again bpel Mbeans transactions time out can be done at following location.
BEA_HOME\user_projects\apps\soaApps\BPELPM\ejb_ob_engine.jar\weblogic-ejb-jar.xml
Here the time out property is trans-timeout-seconds
You need to change it for the mbeans
CubeEngineBean, CubeDeliveryBean and MessageBean.
The ejb_ob_engine.jar need to be unpacked to make the changes.Once changed these files need to be repacked again and have to be updated from weblogic console or start the container again.The default value for the transaction time out in these beans are 120
further the syncMaxWAitTimeOut it is to be modified in the same configuration file
SOA_HOME\bpel\domains\domain_name\config\domain.xml
but now the container is different making a change in domain.xml will not make an effect for the time out.So now you need to change this from bpel console.This probably is a shortcome and is covered in 11g.
To change it from console
1. Connect to the BPEL Console.
2. Click on 'Manage BPEL Domain' in the right side top of the screen.
3. Find the syncMaxWaitTime parameter.
4. Change the parameter value and apply.
so the next time if you get any time out error in your logs just make sure if you have checked all the configurations are correct
No comments:
Post a Comment