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