Thursday, March 22, 2012

Oracle BPEL configuration settings to handle large payload/document

Processing of big payload in BPEL process may result in following problem.


1) OutOfMemoryError - Increase the java heap size

Refer my previous posts on how to increase the heap.

2) Process hangs with out result - This occurs due to huge number of activities generated during bpel instance processing.

Process hangs due to maximum number of in-memory activities. You may get "Instance not found in datasource" or "Maximum request depth exceeded" errors. Process will also throw 'TimeOut' error for synchronous processes after reaching the tansaction-timeout duration.

To solve this problem, we need to add 'dspMaxRequestDepth' property in $ORACLE_HOME/bpel/domains/default/config/domain.xml file.

This property sets the maximum number of in-memory activities to process within the same request. After processing an activity request, Oracle BPEL Process Manager attempts to process as many subsequent activities as possible without jeopardizing the transactionality of the request. Once the activity processing chain has reached this depth, the instance is dehydrated and the next activity is performed in a separate transaction. The default value is 600 activities.

Please add below set of property elements in domain.xml and restart the server to take effect of the changes. Here in below property, I have set the maximum in-memory activities as 4000.

<property id="dspMaxRequestDepth">
<name>Maximum number of in memory activities</name>
<value>4000</value>
<comment><![CDATA[
This property sets the maximum number of in-memory activities to process within the same request. After processing an activity request, Oracle BPEL Process Manager attempts to process as many subsequent activities as possible without jeopardizing the transactionality of the request. Once the activity processing chain has reached this depth, the instance is dehydrated and the next activity is performed in a separate transaction.
<p/>
If the request depth is too large, the total request time can exceed the application server transaction timeout limit.
<p/>
The default value is 600 activities.
]]></comment>
</property>

3) Time out error - Increase the timeout setting

How to configure timeout setting will come in my next posting.

No comments:

Post a Comment