# API Documentation: MQ Activiti Extension: `mqSubscribeReplyDelegate` *Author*: [brian@inteligr8.com](mailto:brian@inteligr8.com) *Since Version*: 1.0 This method listens for a reply message on an MQ queue. The process instance will block until a corresponding reply message is received. It uses the `mq_correlationId` variable to select the corresponding reply message. That variable is automatically set by the `mqPublishDelegate` task. This is meant to be used after `mqPublishDelegate` and not just by itself. If you want to start processes with an MQ subscription see the `mqSubscribeDelegate` task. If you have more than one MQ communication in a single process, set the `mq_messageName` field on this and the corresponding `mqPublishDelegate` task. The resultant variables will then include that message name (e.g. `mq_messageId_{mq_messageName}`). This requires a long running connection to MQ. It runs in a long running Activiti job/execution. If there is a failure or the server is restarted, the Activiti job will fail and automatically retry per the Activiti standard features. After exhausting retries, it may eventually dead-letter. Retry the job to continue the subscription. *See Also*: [`mqPublishDelegate`](bean-mqPublishDelegate.md) *See Also*: [`mqSubscribeDelegate`](bean-mqSubscribeDelegate.md) ## Delegate Expression Uses This bean may be used as a *Delegate* using the "Delegate Expression" field as shown in the snippet below. ```javascript ${mqSubscribeReplyDelegate} ``` You may use it in a **Service Task**. This method makes this bean an Activiti delegate. | Input Type | Name | Java Type | Documentation | | ------------------------ | ------------------------ | ------------------------------------------------ | ---------------------------------- | | BPMN Field | `mq_connectorId` | | An Activiti App Tenant Endpoint ID or Java system property in the format `inteligr8.mq.connectors.{connectorId}.url`. Using system properties support `url`, `username`, and `password`. | | BPMN Field | `mq_queueName` | | The name of an MQ destination (queue or topic). This is the target of the message. If it doesn't exist, it will be created. | | BPMN Field | `mq_metadataProcessScope` | | [optional] `true` to set all Activiti result variables in the process instance scope; otherwise the variables will be local to the task. | | BPMN Field | `mq_messageName` | | [optional] A unique identifier to append to Activiti result variable names when more than one MQ message publication/subscription is supported by a process. | | Activiti Variable | `mq_correlationId` | | The correlating identifier of the message to receive. Used to correlate between sent/received messages; like a thread of communication. | | Result Type | Java Type, Name, or Error Code | Documentation | | ------------------------ | ------------------------------------------------ | -------------------------------- | | Activiti Variable | `mq_messageId` | The unique message identifer of the message received. | | Activiti Variable | `mq_deliveryTime` | The time the message was delivered; not received. It is of the `java.util.Date` type as supported by Activiti. | | Activiti Variable | `mq_priority` | An integer priority of the message; value depends on MQ protocol. | | Activiti Variable | `mq_payload` | The body of the MQ message. May include expressions. May be `null`. | | Activiti Variable | `mq_payloadMimeType` | The MIME type of the body of the MQ message. May be `null`. | | Activiti Variable | `mq_replyQueueName` | The name of an MQ destination (queue or topic) to use to reply to the received message. The reply message must have the same correlating identifier. May be `null`. | | Activiti Variable | `mq_statusQueueName` | The name of an MQ destination (queue or topic) to use to reply to the received message. The reply message must have the same correlating identifier. May be `null`. | | Thrown BPMN Error | `correlation` | `mq_correlationId` is required. | | Thrown BPMN Error | `timeout` | The MQ connection timed out connecting or waiting for a message. | | Thrown BPMN Error | `network` | The MQ connection experienced network issues. | | Thrown BPMN Error | `mq` | An unknown MQ issue occurred. | --- [Back to Index](index.md) Generated by the [Inteligr8](https://inteligr8.com) [Activiti API Doclet](https://bitbucket.org/inteligr8/activiti-api-doclet).