JMS applications can use report messages as a form of managed request/response processing, to give remote feedback to producers on the outcome of their send operations and the fate of their messages. A JMS application can request different types of report message by setting JMS_IBM_Report_Xxxx message properties and options.
Use the following prefix with each option: com.ibm.websphere.sib.api.jms.
For example, to request a Confirm on delivery (COD) report message with full data, the JMS application must set JMS_IBM_Report_COD to the value com.ibm.websphere.sib.api.jms.MQRO_COD_WITH_FULL_DATA.
For each type of report message, the following table shows the JMS_IBM_Report_Xxxx message property that a JMS application can set, and the MQMD Report field options that map to the property.
Type of report message | Description | JMS_IBM_Report_Xxxx message property and options |
---|---|---|
Exception | Send a report message if the request message cannot be put to the target queue. The exception report messages are generated when a message has been rerouted to an exception destination. | JMS_IBM_Report_Exception
|
Discard | Discard the original request message rather than sending it to an exception destination. You can use this option with the JMS_IBM_Report_Exception property set to MQRO_EXCEPTION_WITH_FULL_DATA to return an undeliverable request message to its sender. | JMS_IBM_Report_Discard_Msg
|
Expiration | Send a report message if the request message passes its expiry time. | JMS_IBM_Report_Expiration
|
Confirm on arrival (COA) | Send a report message when the request message has been put
to the target queue. For publish/subscribe messaging, the COA report message is generated only on the producers messaging engine. Therefore, such reports are relevant only to local subscriptions. For point-to-point messaging, COA messages are generated when the message arrives at the final destination. For partitioned queues, the report message is generated only when the put operation has committed and a final destination has therefore been selected. Any With_Data or With_Full_Data report options specified are ignored; the COA report message deals only with message headers. If a forward-routing path is used, the COA message are generated when the message arrives at the final destination in the path. |
JMS_IBM_Report_COA
|
Confirm on delivery (COD) | Send a report message when the request message has been
removed from the queue or topic space by a message consumer. For publish/subscribe messaging, the COD message is generated when all subscribers have received the request message. Therefore, there is one COD message generated for every COA. When a message is consumed by a subscriber, the reference count of the message on the topic space is reduced. When the reference count reaches zero, the message is removed from the topic space then a COD report message is generated. For point-to-point messaging, the COD message is generated after the message has been successfully received by a consuming application. Any With_Data or With_Full_Data report options specified are ignored; the COD report message deals only with message headers. |
JMS_IBM_Report_COD
|
Positive action notification (PAN) | Ask the consumer application to send a report message when it has successfully processed the request message. | JMS_IBM_Report_PAN
|
Negative action notification (NAN) | Ask the consumer application to send a report message if it has not successfully processed the request message. | JMS_IBM_Report_NAN
|
For more information about report messages and the associated properties and options refer to the Using Java section of the WebSphere MQ information center, available from the WebSphere MQ library.