BPEL or ESB AQ Adapter Running In Multiple JVMs Dequeues a Single Message More Than Once (Doc ID 833565.1)

Last updated on NOVEMBER 03, 2016

Applies to:

Oracle(R) BPEL Process Manager - Version: 10.1.3.1 to 10.1.3.4 - Release: AS10gR3 to AS10gR3
Oracle ESB - Version: 10.1.3.1 to 10.1.3.4.0   [Release: AS10gR3 to ]
Information in this document applies to any platform.
***Checked for relevance on 25-May-2011***

Symptoms

To illustrate the problem, consider the following example scenario:

Have a process which starts with an ESB Service, consisting of an AQ Adapter and a Routing Service.  This AQ Adapter passes the request to the routing Service which then invokes a BPEL process.

Running the SOA Suite in OC4J with two or more JVMs, you sometimes have the case where the dequeued and transformed AQ message is passed twice to BPEL. The AQ message exists only once, but the invoke_message in the BPEL table exists twice.

So the BPEL process is invoked twice instead of only once as it should be.


In this case you will end up with more BPEL instances than there should be, the number of BPEL instances should match exactly to the number of AQ messages that have been dequeued, but you end up with more BPEL instances than there were AQ messages.

There are of course several possible scenarios where this behavior may be seen.  The problem is that you end up with more dequeued AQ messages than there were ever enqueued onto the queue when the AQ adapter is running in BPEL or ESB that is configured to use multiple JVMs.


Cause

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