Flow N is not Creating Parallel Processes when the bpel.xml nonBlockingInvoke=true Property is Used
Last updated on APRIL 04, 2011
Applies to:Oracle(R) BPEL Process Manager - Version: 10.1.3.3
Information in this document applies to any platform.
***Checked for relevance on 04-Apr-2011***
According with the documentation: Oracle Application Server Performance Guide 10g Release 3 (10.1.3.1.0) Part Number B28942-02, Chapter 7 Oracle Bpel Process Manager Performance Tuning, Section 7.2.5 nonBlockingInvoke Bpel Property, the nonBlockingInvoke Bpel Property improves the performance when executing multiple branches of a flow or flowN activity. If this property is set to true, a new thread is created by the process manager to perform each branch's invoke activity in a parallel way.
But, a Bpel process that contains a FlowN activity with 5 flows and it's using the bpel.xml nonBlockingInvoke=true property calls another Bpel process, is not creating parallel processes (a thread by flow/child process). It is expected to create 5 different threats at the same time (approx. 1 minute each one = 1 minute or so for all because they are in parallel), but Bpel process took about 3 minutes or so and only 2 Bpel child process ever run simultaneously. For example:
Main Bpel process (SleepBroker) calls a child process(SyncSleepService), the TreeFinder displayed the following information:
Title Process ...
510007 - Instance #510007 of SyncSleepBroker SyncSleepBroker
510008 - Instance #510008 of SyncSleepService SyncSleepService
60.047s +4.125 -- t0
510009 - Instance #510009 of SyncSleepService SyncSleepService
60.078s +64.188 -- t1
510010 - Instance #510010 of SyncSleepService SyncSleepService
60.266s +64.188 -- t1
510011 - Instance #510011 of SyncSleepService SyncSleepService
60.062s +124.282 -- t2
510012 - Instance #510012 of SyncSleepService SyncSleepService
60.125s +124.282 -- t2
There are 3 main times t0, t1 and t2 that shows about processes are not executed in parallel way.
According with the documentation is expected that SyncSleepBroker Bpel process takes 70 s max (60seg or so in total for all parallel 5 child Bpel processes), but this is not the behavior in the Tree Finder.
and 30 ReceiverThreads for InvokerBean. The total dspMaxThreads across all domains is only 50.
Modify SyncMaxWaitTime (domain.xml), transaction-timeouts in transaction-manager.xml and
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms