The send only programming model

This programming model allows you to run an IMS™ non-response mode transaction.

To run a non-response mode transaction in IMS TM, your Java™ application executes a SYNC_SEND interaction. Your application provides a value of SYNC_SEND for the interactionVerb property and a value of 0 for the commitMode property of the IMSInteractionSpec object used by the execute method of the interaction.

If your Java client application issues a SYNC_SEND interaction, the IMS TM resource adapter sends the request to IMS through IMS Connect and does not expect a response from IMS. Because the IMS TM resource adapter performs a "send only" interaction with IMS, a SYNC_SEND interaction is typically used with a non-response mode transaction.

To use a SYNC_SEND interaction to run a transaction, your application must provide a value of SYNC_SEND for the interactionVerb property and a value of 0 for the commitMode property of the IMSInteractionSpec object used by the execute method. The SYNC_SEND interaction processing varies depending on the type of persistent socket used (shareable or dedicated) and the type of IMS transaction that is run.

Note: IMSInteractionSpec properties purgeAsycOutput, reRoute and reRouteName do not apply to SYNC_SEND interactions and are ignored by IMS Connector for Java.

Shareable persistent socket processing model

The following scenarios describe a SYNC_SEND interaction on a shareable persistent socket connection for different type of transactions.
  • Non-response mode transaction

    The IMS application program associated with a transaction defined to IMS as non-response mode typically does not insert an output message to the I/O PC; therefore, no output message is created and nothing is queued on a TPIPE.

  • Response mode transaction

    The IMS application program associated with a transaction defined to IMS as a response mode transaction typically will insert an output message to the I/O PCB. Because the IMS TM resource adapter does not expect a response from a SYNC_SEND interaction, the output message, if inserted, is queued on the TPIPE with the name of the generated clientID. However, interactions SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT or SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT can be used to retrieve the response, if performed following the SYNC_SEND interaction and in the same application and on the same connection.

  • Non-response mode or response mode transactions that invoke an IMS application program that inserts to an alternate PCB
    A message inserted to an alternate PCB can be retrieved by executing an interaction on a dedicated persistent socket connection. To insert this message, complete the following steps:
    1. Ensuring that the connectionFactory used by the interaction is configured with a value of TRUE for the CM0Dedicated property.
    2. Providing the following values for the interaction:
      • IMSInteractionSpec property interactionVerb=SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT or SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT
      • IMSInteractionSpec property commitMode=0
      • IMSConnectionSpec property clientID= the name of the alternate PCB

Dedicated persistent socket processing model

The following scenarios describe a SYNC_SEND interaction on a dedicated persistent socket connection for different types of transactions. SYNC_SEND interactions use commitMode0 and dedicated persistent socket connections can only be used for commitMode 0 interactions.
  • Non-response mode transaction

    The IMS application program associated with a transaction defined to IMS as response mode typically does not insert an output message to the I/O PCB, therefore no output message is created and nothing is queued on a TPIPE.

  • Response mode transaction

    The IMS application program associated with a transaction defined to IMS as non-response mode typically will insert an output message to the I/O PCB. Because the IMS TM resource adapter does not expect a response from a SYNC_SEND interaction, the output message, if inserted, is queued on the TPIPE with the name provided for the clientID of the interaction. Messages queued to this type of TPIPE can be retrieved by issuing a SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT or SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT interactions. The TPIPE name is the clientID specified for the SYNC_SEND interaction. clientID is required for interactions that use a dedicated persistent socket connection.

  • Non-response mode or response mode transactions that invoke an IMS application that inserts to an alternate PCB
    A message inserted to an alternate PCB can be retrieved by executing an interaction on a dedicated persistent socket connection. Below are the steps:
    1. Ensuring that the connectionFactory used by the interaction is configured with a value of TRUE for the CM0Dedicated property.
    2. Providing the following values for the interaction:
      • IMSInteractionSpec property interactionVerb=SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT or SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT
      • IMSInteractionSpec property commitMode=0
      • IMSConnectionSpec property clientID= the name of the alternate PCB

Feedback