Asynchronous output programming model

Use this programming model to retrieve output that has been queued by IMS™.

Your application might need to retrieve output that was queued at some earlier time. Such output is called asynchronous output. Asynchronous output can result from several situations: undelivered output from commit mode 0 interactions, output from program-to-program switches, output from ISRT calls to an alternate PCB, and output from an IMS application that returns multiple output messages.

To retrieve asynchronous output, a Java™ application executes a SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT or SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT interaction. Your application must provide the value for the interactionVerb property and a value of 0 for the commitMode property of the IMSInteractionSpec object that is used by the execute method of the interaction.

Two types of socket connections that can be used to retrieve asynchronous output are shareable persistent socket and dedicated persistent socket. The way to retrieve asynchronous output messages varies, depending on the type of socket connection that is used. The interactionVerb property values that can be used to retrieve asynchronous output are:
Tip: SYNC_RECEIVE_ASYNCOUTPUT was deprecated inIMS TM Resource Adapter Version 10, and is replaced by SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT.
SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT is different from SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT in how IMS Connect checks for the output on the IMS OTMA asynchronous hold queue.

The asynchronous output programming model requires commit mode 0 and can be used on both shareable persistent socket and dedicated persistent socket connections. In addition, the IMSInteractionSpec properties purgeAsycOutput, reRoute, and reRouteName do not apply and are ignored when the interactionVerb property is set to either of these values. The interactionVerb property is invoked differently on dedicated and shareable persistent socket connections.


Feedback