IBM MQ Get
The Get activity is used to retrieve a message from a configured queue. Messages can be retrieved based on filter criteria specified in the input document.
- Check the queue with a wait interval. The activity waits on the queue for the specified interval, then returns whether or not a message is received.
- Check the queue without a wait interval. The activity checks the queue and returns immediately, regardless of whether a message is read.
- Listen indefinitely on the queue. The activity returns a message if one is available, or waits forever for a message to arrive.
General
The General tab of the Get activity contains the following fields:
Multi-Message
The Multi-Message tab of the Get activity contains the following fields:
Input
Activity Pooling
The Activity Pooling tab allows the activity to pool all the MQ resources associated with the get activity at the process level.
The Activity Pooling tab contains the following fields:
Field | Global Variable | Description |
---|---|---|
Pool Activity | N | Select the
Pool Activity checkbox to activate pooling for the client objects used by this activity. Selecting this option causes pooling to be done at a higher level than merely pooling the connection. All destinations used by the activity are kept open and the connection resource specified are not pooled in the usual way even if that resource has pooling enabled. This option is used when the server to which you are connected experiences very high latency such that opening, closing, and pooling of connections cause unacceptable performance degradation.
The primary consideration for choosing pooling parameters is the number of available connections to the queue manager. Choose values that do not create unnecessary resource consumption in the queue manager, and leave available connections for other applications (including other pooled connections and activities, remember that the application might be deployed on multiple engine instances). |
Pool Max | Y | Determines the maximum number of connections in the pool. When this limit is reached, subsequent activities fail with the following message:
"Activity Pool is exhausted: [Timeout waiting for idle object] Either enlarge the pool, allow it to grow, or increase the blocking time." |
Pool Max Idle | Y | Determines the maximum number of idle connections in the pool. When the number of unused connections reaches this number, the idle connections are disconnected and closed, freeing resources on the server. Amounts over the Max Connections value are ignored. |
Exhausted Action | N | Select one of the following options:
● FAIL - The activity fails immediately after the pool is exhausted. ● BLOCK - The activity waits for the "Pool Wait" interval before failing. If an MQ client is available before the timeout, the activity acquires it. ● GROW - The pool grows past its maximum parameters. |
Pool Wait | Y | If exhausted action is set to "BLOCK", the pool waits for the "Pool Wait" interval for an activity to become available before failing. |
The following table lists the input items for the Get activity:
Output
The following table lists the output items for the Get activity:
Fault
The Fault tab lists the possible exceptions that occur in the Get activity:
Error Schema Element | Data Type | Description |
---|---|---|
msg | String | The descriptive text provided by this exception object. |
msgCode | String | If the message has a BW message code, it is mapped to this field. |
mqCompCode | String | If the message originates as an IBM MQ API exception, then that exception's completion code is here. |
mqReasonCode | String | If the message originates as an IBM MQ API exception, then that exception's reason code is here. |
mqErrorCode | String | If the message originates as an IBM MQ API exception, then that exception's error code is here. |