About this task

CICS uses Business Transaction Services (BTS) to ensure that persistent messages are recovered in the event of a CICS system failure. For this to work correctly, follows these steps:

Procedure

1.Use IDCAMS to define the local request queue and repository file to MVS. You must specify a suitable value for STRINGS for the file definition. The default value of 1 is unlikely to be sufficient, and you are recommended to use 10 instead.

2.Define the local request queue and repository file to CICS. Details of how to define the local request queue to CICS are described in “Defining local queues in a service provider.” You must specify a suitable value for STRINGS in the file definition. The default value of 1 is unlikely to be sufficient, and it is recommended that you use 10 instead.

3.Define a PROCESSTYPE resource with the name DFHMQSOA, using the repository file name as the value for the FILE option.

4.Ensure that during the processing of a persistent message, a program issues an EXEC CICS SYNCPOINT command before the first implicit syncpoint is requested; for example, using an SPI command such as EXEC CICS CREATE TDQUEUE implicitly takes a syncpoint. Issuing an EXEC CICS SYNCPOINT command confirms that the persistent message has been processed successfully. If a program does not explicitly request a syncpoint before trying to implicitly take a syncpoint, CICS issues an ASP7 abend.

Results

What to do next

For one way request messages, if the Web service abends or backs out, sufficient information is retained to allow a transaction or program to retry the failing request, or to report the failure appropriately. You need to provide this recovery transaction or program. See “Persistent message processing” on page 138 for details.

Defining local queues in a service provider

To use the WebSphere® MQ transport in a service provider, you must define one or more local queues that store request messages until they are processed, and one trigger process that specifies the CICS transaction that will process the request messages.

Procedure

1.Define an initiation queue. Use the following command:

DEFINE

QLOCAL('initiation_queue') DESCR('description')

where initiation_queue is the same as the value specified for the INITQNAME attribute of the MQINI resource definition for the CICS region. MQINI is an implicit resource that CICS installs when you install an MQCONN resource definition. Use the EXEC CICS or CEMT INQUIRE MQINI command to inquire on the initiation queue name.

Chapter 12. Defining recoverability for CICS-managed resources 137

Page 149
Image 149
IBM SC34-7012-01 manual Defining local queues in a service provider, Results What to do next