Manual Recovery Process Is Creating Duplicate Messages with JMS Adapter
(Doc ID 1187003.1)
Last updated on MARCH 25, 2019
Applies to:Oracle(R) BPEL Process Manager 10g - Version 10.1.3.1 and later
Information in this document applies to any platform.
INFLIGHT INSTANCES CREATED THROUGH JMS ADAPTER SHOWING UP IN RECOVERY CONSOLE
jms aq queue -> jms adapter -> (receive) Bpel process A -> sleep(20seconds) -> asynch invoke -> Bpel process B
and here are the usecase steps:
1. Through the JMS Adapter an instance of Process A dequeues a message from queue and an instance of "A" is created through the "receive" activity.
<receive createInstance="yes" id="BpRcv0" name="Receive_1"
At this point the process A will appear in the "Recover(Invokes) Tab" since the state of "A" is
2. Process "A" then does some work, which in the case of this application in the bug it does some transforms etc... but process "A" stays in the recovery tab until a dehydration point is reached.
*** Note if during this time someone recovers the instance then we will get a new seperate instance of "A->B" that duplicates the orginal instance. This is what the customer wants to avoid
3. Process "A" then does an asynchronous invoke of "B" which is a dehydration point and causes "A" to be removed from "Recover(Invokes) Tab", and so, we are safe since we cannot recover an inflight instance - the state changes at this point to 2.
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