My Oracle Support Banner

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

Last updated on OCTOBER 30, 2019

Applies to:

Oracle(R) BPEL Process Manager 10g - Version to [Release AS10gR3]
Oracle Enterprise Service Bus - Version to
Information in this document applies to any platform.
***Checked for relevance on 25-May-2011***


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.


To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.