Chapter 13. IMS Connector for Java rerouting and timeout support 259
The DFSYPRX0/DRU0 combination gives you enough flexibility to manage the ALTPCB
output according to your needs. As simple suggestions, you can use DFSYPRX0/DRU0 to:
Send all your ALTPCB output to a single (or a few) known IMS Connect Tpipe. The
messages get queued in the asynchronous hold queue of that Tpipe, and you could can a
specialized IMS Connector for Java client to retrieve them and send to the final clients.
Send each ALTPCB output message to an IMS Connect Tpipe, according to the LTERM,
using a different Tpipe for each LTERM. In that case, each of your clients recover the
messages by themselves. Consider the memory requirements of each Tpipe if you choose
this option. The Tpipes use storage, and they do
not free this storage when you stop using
them.
Send all your ALTPCB output to another OTMA client, such as the IBM WebSphere MQ
IMS bridge, and use any WebSphere MQ client to retrieve the messages.
13.3 Multiple and timed out IOPCB responses
In this section, we discuss the actions you can instruct IMS Connect to take before queuing
the asynchronous messages under their destination Tpipe. Basically, you have the following
choices:
You can do
nothing, and the messages are discarded.
You can
discard the messages, so they do not get queued at all.
You can tell IMS Connect to
reroute the messages, changing the name of the Tpipe where
they will be queued.
The issues discussed in this section do not apply to the ALTPCB inserted messages. We
discuss the management of those messages in 13.2, “Messages inserted to ALTPCB” on
page 258.
13.3.1 Discarding the non-delivered messages
You can ask IMS Connector for Java to purge the asynchronous, undelivered output, setting
the Boolean property purgeAsyncOutput to true. This is a property of the IMSInteractionSpec
object and can be set in different ways, depending on the programming environment you are
using:
You can set it specifically if you are coding your own Java client using the CCI interface
using the setter setPurgeAsyncOutput of the IMSConnectionSpec class.
You can use the WebSphere Application Studio Developer Integration Edition or Rational
Application Developer wizards and property sheets to set this value. Figure 13-1 on
page 260 shows the WebSphere Studio Application Developer Integration Edition property
sheet.
260 IMS Connectivity in an On Demand Environment: A Practical Guide to IMS Connectivity
Figure 13-1 WebSphere Studio Application Developer Integration Edition operation property sheet
In any case, you have to be aware of the restrictions summarized in Table 13-1.
Table 13-1 Results of enabling purgeAsyncOutput
Type of message Commit mode 1 Commit mode 0
Shareable connection Shareable connection Dedicated connection
Non-timed out insert to
IOPCB
Ignored Ignored. Runtime exception
Timed out insert to IOPCB The output message is lost.
Because IMS Connector for
Java uses sync
level=NONE, the
transaction is
not rolled
back. The net effect is
equivalent to the message
being purged.
The message is purged. Runtime exception
Second or later insert to
IOPCB by second or later
transaction as result of
program-to-program switch
The message is purged.
The output of second and
later transactions is treated
as commit mode 0.
Non-predictable. See
13.3.2, “Rerouting the
non-delivered messages”
on page 261.
Runtime exception
Insert to IOPCB by a
transaction sent using a
SEND ONLY interaction
Not applicable. The message is
not
purged, but queued under
the system-generated
clientID.
Runtime exception

Get IMS Connectivity in an On Demand Environment: A Practical Guide to IMS Connectivity now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.