Inquire Pub/Sub Status (Response)
The response to the Inquire publish/subscribe Status (MQCMD_INQUIRE_PUBSUB_STATUS)
command consists of the response header followed by the attribute structures.
A group of parameters is returned containing the following attributes:
Type, QueueManagerName,
Status, SubCount, and
TopicNodeCount.
- Always returned:
- QueueManagerName,
Status, Type,
SubCount, and
TopicNodeCount.
- Returned if requested:
- None
Response data
- QueueManagerName (MQCFST)
- Either the name of the local queue manager when TYPE is LOCAL, or the name of the hierarchically
connected queue manager (parameter identifier: MQCA_Q_MGR_NAME).
- Type (MQCFIN)
- Type of status that is being returned (parameter identifier: MQIACF_PS_ STATUS_TYPE).
The value can be:
- MQPSST_CHILD
- Publish/subscribe status for a child hierarchical connection.
- MQPSST_LOCAL
- Publish/subscribe status for the local queue manager.
- MQPSST_PARENT
- Publish/subscribe status for the parent hierarchical connection.
- Status (MQCFIN)
- The status of the publish/subscribe engine or the hierarchical connection (parameter identifier:
MQIACF_PUBSUB_STATUS).
When TYPE is LOCAL the following values can be returned:
- MQPS_STATUS_ACTIVE
- The publish/subscribe engine and the queued publish/subscribe interface are running. It is
therefore possible to publish or subscribe using the application programming interface and the
queues that are monitored by the queued publish/subscribe interface appropriately.
- MQPS_STATUS_COMPAT
- The publish/subscribe engine is running. It is therefore possible to publish or subscribe using
the application programming interface. The queued publish/subscribe interface is not running.
Therefore, any message that is put to the queues monitored by the queued publish/subscribe interface
is not acted upon by IBM MQ .
- MQPS_STATUS_ERROR
- The publish/subscribe engine has failed. Check your error logs to determine the reason for the
failure.
- MQPS_STATUS_INACTIVE
- The publish/subscribe engine and the queued publish/subscribe interface are not running. It is
therefore not possible to publish or subscribe using the application programming interface. Any
publish/subscribe messages that are put to the queues that are monitored by the queued
publish/subscribe interface is not acted upon by IBM MQ.
If inactive and we want to start the publish/subscribe engine, on the Change Queue Manager
command set PubSubMode to MQPSM_ENABLED.
- MQPS_STATUS_STARTING
- The publish/subscribe engine is initializing and is not yet operational.
- MQPS_STATUS_STOPPING
- The publish/subscribe engine is stopping.
When TYPE is PARENT, the following values can be returned:
- MQPS_STATUS_ACTIVE
- The connection with the parent queue manager is active.
- MQPS_STATUS_ERROR
- This queue manager is unable to initialize a connection with the parent queue manager because of
a configuration error. A message is produced in the queue manager logs to indicate the specific
error. If you receive error message AMQ5821 or on z/OS systems CSQT821E, possible causes include:
- Transmit queue is full
- Transmit queue put disabled
If you receive error message AMQ5814 or on z/OS
systems CSQT814E, take the following actions:
- Check that the parent queue manager is correctly specified.
- Ensure that broker is able to resolve the queue manager name of the parent broker.
To resolve the queue manager name, at least one of the following resources must be configured:
- A transmission queue with the same name as the parent queue manager name.
- A queue manager alias definition with the same name as the parent queue manager name.
- A cluster with the parent queue manager a member of the same cluster as this queue manager.
- A cluster queue manager alias definition with the same name as the parent queue manager name.
- A default transmission queue.
After you have set up the configuration correctly, modify the parent queue manager name to
blank. Then set with the parent queue manager name.
- MQPS_STATUS_REFUSED
- The connection has been refused by the parent queue manager.
This situation might be caused
by the parent queue manager already having another child queue manager of the same name as this
queue manager.
Alternatively, the parent queue manager has used the RESET QMGR TYPE(PUBSUB) CHILD command to
remove this queue manager as one of its children.
- MQPS_STATUS_STARTING
- The queue manager is attempting to request that another queue manager is its parent. If the
parent status remains in starting status without progressing to active status, take the following actions:
- Check that the sender channel to parent queue manager is running
- Check that the receiver channel from parent queue manager is running
- MQPS_STATUS_STOPPING
- The queue manager is disconnecting from its parent. If the parent status remains in stopping
status, take the following actions:
- Check that the sender channel to parent queue manager is running
- Check that the receiver channel from parent queue manager is running
When TYPE is CHILD, the following values can be returned:
- MQPS_STATUS_ACTIVE
- The connection with the parent queue manager is active.
- MQPS_STATUS_ERROR
- This queue manager is unable to initialize a connection with the parent queue manager because of
a configuration error. A message is produced in the queue manager logs to indicate the specific
error. If you receive error message AMQ5821 or on z/OS systems CSQT821E, possible causes include:
- Transmit queue is full
- Transmit queue put disabled
If you receive error message AMQ5814 or on z/OS
systems CSQT814E, take the following actions:
- Check that the child queue manager is correctly specified.
- Ensure that broker is able to resolve the queue manager name of the child broker.
To resolve the queue manager name, at least one of the following resources must be configured:
- A transmission queue with the same name as the child queue manager name.
- A queue manager alias definition with the same name as the child queue manager name.
- A cluster with the child queue manager a member of the same cluster as this queue manager.
- A cluster queue manager alias definition with the same name as the child queue manager name.
- A default transmission queue.
After you have set up the configuration correctly, modify the child queue manager name to
blank. Then set with the child queue manager name.
- MQPS_STATUS_STARTING
- The queue manager is attempting to request that another queue manager is its parent. If the
child status remains in starting status without progressing to active status, take the following actions:
- Check that the sender channel to child queue manager is running
- Check that the receiver channel from child queue manager is running
- MQPS_STATUS_STOPPING
- The queue manager is disconnecting from its parent. If the child status remains in stopping
status, take the following actions:
- Check that the sender channel to child queue manager is running
- Check that the receiver channel from child queue manager is running
- SubCount (MQCFIN)
- When Type is MQPSST_LOCAL, the total number
of subscriptions against the local tree is returned. When Type
is MQPSST_CHILD or MQPSST_PARENT, queue manager relations are not
inquired and the value MQPSCT_NONE is returned. (parameter identifier:
MQIA_SUB_COUNT).
- TopicNodeCount (MQCFIN)
- When Type is MQPSST_LOCAL, the total number
of topic nodes in the local tree is returned. When Type is
MQPSST_CHILD or MQPSST_PARENT, queue manager relations are not
inquired and the value MQPSCT_NONE is returned. (parameter identifier:
MQIA_TOPIC_NODE_COUNT).
Parent topic: Definitions of the Programmable Command Formats