By | 02 June 2014

Delay Processing in Inbound Asynchronous Subscription Handlers

When setting up routings for subscription handlers, you can define a “delay” of when the subscription handler will actually process. There are various reasons why you would want to do this for which we will not go into. Here we will show the end result of the delay and what to expect in the integration broker. I did not find this documented in PeopleBooks anywhere so hopefully someone finds it helpful.

In the following example, we are pushing PERSON_BASIC_SYNC from a Campus Solutions PeopleSoft database to an HCM instance. We desire the HCM system to wait for a few minutes before processing the inbound message.

In the HCM PERSON_BASIC_SYNC service Operation Routing page, we setup a delay. This only seems to be available for inbound messages.

First we setup the inbound routing and set the “Delay Processing” to 3 which seems to represent 3 minutes based on my testing (again no PeopleBooks documentation).

Delayed Processing Setup

So what happens to the message when you setup a delay? It turns out that the “Operation Instance” gets put into a status of “hold” during the duration of the delay period as seen in this screen-shot.

Asynchronous Monitor in Hold Status

If we drill into the detail of the service operation, we will see that the subscription contracts are not created during the delay period.

Asynchronous Detail during Hold

Once the delay period has elapsed, the subscription contracts are then created for processing by the appropriate application server processes.

Asynchronous Detail after Hold