Inquire Topic (Response)
The response to the Inquire Topic (MQCMD_INQUIRE_TOPIC) command consists of the response header followed by the TopicName structure (and on z/OS only, the QSG Disposition structure), and the requested combination of attribute parameter structures (where applicable).
- Always returned:
- TopicName , TopicType , QSGDisposition
- Returned if requested:
- AlterationDate , AlterationTime ,, ClusterName , ClusterObjectState , ClusterPubRoute , CommInfo , Custom , DefPersistence , DefPriority , DefPutResponse , DurableModelQName , DurableSubscriptions , InhibitPublications , InhibitSubscriptions , Multicast , NonDurableModelQName , NonPersistentMsgDelivery , PersistentMsgDelivery , ProxySubscriptions , PublicationScope , QMgrName , SubscriptionScope , TopicDesc , TopicString , UseDLQ , WildcardOperation
Response data
- Alteration date (parameter identifier: MQCA_ALTERATION_DATE).
The date when the information was last altered, in the form yyyy-mm-dd.
- Alteration time (parameter identifier: MQCA_ALTERATION_TIME).
The time when the information was last altered, in the form hh.mm.ss.
- The name of the cluster to which this topic belongs. (parameter identifier:
MQCA_CLUSTER_NAME).
The maximum length of the string is MQ_CLUSTER_NAME_LENGTH. Setting this parameter to a cluster that this queue manager is a member of makes all queue managers in the cluster aware of this topic. Any publication to this topic or a topic string below it put to any queue manager in the cluster is propagated to subscriptions on any other queue manager in the cluster. For more details, see Distributed publish/subscribe networks.
The value can be any of the following values:- Blank
- If no topic object above this topic in the topic tree has set this parameter to a cluster name, then this topic does not belong to a cluster. Publications and subscriptions for this topic are not propagated to publish/subscribe cluster-connected queue managers. If a topic node higher in the topic tree has a cluster name set, publications and subscriptions to this topic are also propagated throughout the cluster.
- String
- The topic belongs to this cluster. It is not recommended that this is set to a different cluster from a topic object above this topic object in the topic tree. Other queue managers in the cluster will honor this object's definition unless a local definition of the same name exists on those queue managers.
- The current state of the clustered topic definition (parameter identifier:
MQIA_CLUSTER_OBJECT_STATE).
The value can be any of the following values:
- MQCLST_ACTIVE
- The cluster topic is correctly configured and being adhered to by this queue manager.
- MQCLST_PENDING
- Only seen by a hosting queue manager, this state is reported when the topic has been created but the full repository has not yet propagated it to the cluster. This might be because the host queue manager is not connected to a full repository, or because the full repository has deemed the topic to be invalid.
- MQCLST_INVALID
- This clustered topic definition conflicts with an earlier definition in the cluster and is therefore not currently active.
- MQCLST_ERROR
- An error has occurred with respect to this topic object.
This parameter is typically used to aid diagnosis when multiple definitions of the same clustered topic are defined on different queue managers, and the definitions are not identical. See Routing for publish/subscribe clusters: Notes on behavior.
- The routing behavior of publications between queue managers in a cluster (parameter identifier:
MQIA_CLUSTER_PUB_ROUTE).
The value can be any of the following values:
- MQCLROUTE_DIRECT
- When you configure a direct routed clustered topic on a queue manager, all queue managers in the cluster become aware of all other queue managers in the cluster. When performing publish and subscribe operations, each queue manager can connect direct to any other queue manager in the cluster.
- MQCLROUTE_TOPIC_HOST
- When we use topic host routing, all queue managers in the cluster become aware of the cluster queue managers that host the routed topic definition (that is, the queue managers on which you have defined the topic object). When performing publish and subscribe operations, queue managers in the cluster connect only to these topic host queue managers, and not directly to each other. The topic host queue managers are responsible for routing publications from queue managers on which publications are published to queue managers with matching subscriptions.
- The name of the communication information object (parameter identifier: MQCA_COMM_INFO_NAME).
Shows the resolved value of the name of the communication information object to be used for this topic node.
The maximum length of the string is MQ_COMM_INFO_NAME_LENGTH.
- Custom attribute for new features (parameter identifier: MQCA_CUSTOM).
This attribute is reserved for the configuration of new features before separate attributes have been introduced. It can contain the values of zero or more attributes as pairs of attribute name and value, separated by at least one space. The attribute name-value pairs have the form NAME(VALUE).
This description will be updated when features using this attribute are introduced.
- Default persistence (parameter identifier: MQIA_TOPIC_DEF_PERSISTENCE).
The value can be:
- MQPER_PERSISTENCE_AS_PARENT
- The default persistence is based on the setting of the closest parent administrative topic object in the topic tree.
- MQPER_PERSISTENT
- Message is persistent.
- MQPER_NOT_PERSISTENT
- Message is not persistent.
- Default priority (parameter identifier: MQIA_DEF_PRIORITY).
- Default put response (parameter identifier: MQIA_DEF_PUT_RESPONSE_TYPE).
The value can be:
- MQPRT_ASYNC_RESPONSE
- The put operation is issued asynchronously, returning a subset of MQMD fields.
- MQPRT_RESPONSE_AS_PARENT
- The default put response is based on the setting of the closest parent administrative topic object in the topic tree.
- MQPRT_SYNC_RESPONSE
- The put operation is issued synchronously, returning a response.
- DurableModelQName (MQCFST)
- Name of the model queue to be used for durable managed subscriptions (parameter identifier:
MQCA_MODEL_DURABLE_Q).
The maximum length of the string is MQ_Q_NAME_LENGTH.
- DurableSubscriptions (MQCFIN)
- Whether applications are permitted to make durable subscriptions (parameter identifier:
MQIA_DURABLE_SUB).
The value can be:
- MQSUB_DURABLE_AS_PARENT
- Whether durable subscriptions are permitted is based on the setting of the closest parent administrative topic object in the topic tree.
- MQSUB_DURABLE
- Durable subscriptions are permitted.
- MQSUB_NON_DURABLE
- Durable subscriptions are not permitted.
- InhibitPublications (MQCFIN)
- Whether publications are allowed for this topic (parameter identifier: MQIA_INHIBIT_PUB).
The value can be:
- MQTA_PUB_AS_PARENT
- Whether messages can be published to this topic is based on the setting of the closest parent administrative topic object in the topic tree.
- MQTA_PUB_INHIBITED
- Publications are inhibited for this topic.
- MQTA_PUB_ALLOWED
- Publications are allowed for this topic.
- InhibitSubscriptions (MQCFIN)
- Whether subscriptions are allowed for this topic (parameter identifier: MQIA_INHIBIT_SUB).
The value can be:
- MQTA_SUB_AS_PARENT
- Whether applications can subscribe to this topic is based on the setting of the closest parent administrative topic object in the topic tree.
- MQTA_SUB_INHIBITED
- Subscriptions are inhibited for this topic.
- MQTA_SUB_ALLOWED
- Subscriptions are allowed for this topic.
- Multicast (MQCFIN)
- Whether multicast is used for this topic (parameter identifier: MQIA_MULTICAST).
Returned value:
- MQMC_ENABLED
- Multicast can be used.
- MQMC_DISABLED
- Multicast is not used.
- MQMC_ONLY
- Only Multicast publish/subscribe can be used on this topic.
- NonDurableModelQName (MQCFST)
- Name of the model queue to be used for non-durable managed subscriptions (parameter identifier:
MQCA_MODEL_NON_DURABLE_Q).
The maximum length of the string is MQ_Q_NAME_LENGTH.
- NonPersistentMsgDelivery (MQCFIN)
- The delivery mechanism for non-persistent messages published to this topic (parameter
identifier: MQIA_NPM_DELIVERY).
The value can be:
- MQDLV_AS_PARENT
- The delivery mechanism used is based on the setting of the first parent administrative node found in the topic tree relating to this topic.
- MQDLV_ALL
- Non-persistent messages must be delivered to all subscribers, irrespective of durability for the MQPUT call to report success. If a delivery failure to any subscriber occurs, no other subscribers receive the message and the MQPUT fails.
- MQDLV_ALL_DUR
- Non-persistent messages must be delivered to all durable subscribers. Failure to deliver a non-persistent message to any non-durable subscribers does not return an error to the MQPUT call. If a delivery failure to a durable subscriber occurs, no other subscribers receive the message and the MQPUT fails.
- MQDLV_ALL_AVAIL
- Non-persistent messages are delivered to all subscribers that can accept the message. Failure to deliver the message to any subscriber does not prevent other subscribers from receiving the message.
- PersistentMsgDelivery (MQCFIN)
- The delivery mechanism for persistent messages published to this topic (parameter identifier:
MQIA_PM_DELIVERY).
The value can be:
- MQDLV_AS_PARENT
- The delivery mechanism used is based on the setting of the first parent administrative node found in the topic tree relating to this topic.
- MQDLV_ALL
- Persistent messages must be delivered to all subscribers, irrespective of durability for the MQPUT call to report success. If a delivery failure to any subscriber occurs, no other subscribers receive the message and the MQPUT fails.
- MQDLV_ALL_DUR
- Persistent messages must be delivered to all durable subscribers. Failure to deliver a persistent message to any non-durable subscribers does not return an error to the MQPUT call. If a delivery failure to a durable subscriber occurs, no other subscribers receive the message and the MQPUT fails.
- MQDLV_ALL_AVAIL
- Persistent messages are delivered to all subscribers that can accept the message. Failure to deliver the message to any subscriber does not prevent other subscribers from receiving the message.
- ProxySubscriptions (MQCFIN)
- Whether a proxy subscription is to be sent for this topic, even if no local subscriptions exist,
to directly connected queue managers (parameter identifier: MQIA_PROXY_SUB).
The value can be:
- MQTA_PROXY_SUB_FORCE
- A proxy subscription is sent to connected queue managers even if no local subscriptions exist.
- MQTA_PROXY_SUB_FIRSTUSE
- A proxy subscription is sent for this topic only when a local subscription exists.
- PublicationScope (MQCFIN)
- Whether this queue manager propagates publications to queue managers as part of a hierarchy or
as part of a publish/subscribe cluster (parameter identifier: MQIA_PUB_SCOPE).
The value can be:
- MQSCOPE_ALL
- Publications for this topic are propagated to hierarchically connected queue managers and to publish/subscribe cluster-connected queue managers.
- MQSCOPE_AS_PARENT
- Whether this queue manager propagates publications to queue managers as part of a hierarchy or
as part of a publish/subscribe cluster is based on the setting of the first parent administrative
node found in the topic tree relating to this topic.
MQSCOPE_AS_PARENT is the default value for this parameter if no value is specified.
- MQSCOPE_QMGR
- Publications for this topic are not propagated to other queue managers.
Note: We can override this behavior on a publication-by-publication basis, using MQPMO_SCOPE_QMGR on the Put Message Options.
- QMgrName (MQCFST)
- Name of local queue manager (parameter identifier: MQCA_CLUSTER_Q_MGR_NAME).
The maximum length of the string is MQ_Q_MGR_NAME_LENGTH
- SubscriptionScope (MQCFIN)
- Whether this queue manager propagates subscriptions to queue managers as part of a hierarchy or
as part of a publish/subscribe cluster (parameter identifier: MQIA_SUB_SCOPE).
The value can be:
- MQSCOPE_ALL
- Subscriptions for this topic are propagated to hierarchically connected queue managers and to publish/subscribe cluster-connected queue managers.
- MQSCOPE_AS_PARENT
- Whether this queue manager propagates subscriptions to queue managers as part of a hierarchy or
as part of a publish/subscribe cluster is based on the setting of the first parent administrative
node found in the topic tree relating to this topic.
MQSCOPE_AS_PARENT is the default value for this parameter if no value is specified.
- MQSCOPE_QMGR
- Subscriptions for this topic are not propagated to other queue managers.
Note: We can override this behavior on a subscription-by-subscription basis, using MQSO_SCOPE_QMGR on the Subscription Descriptor or SUBSCOPE(QMGR) on DEFINE SUB.
- TopicDesc (MQCFST)
- Topic description (parameter identifier: MQCA_TOPIC_DESC).
The maximum length is MQ_TOPIC_DESC_LENGTH.
- TopicName (MQCFST)
- Topic object name (parameter identifier: MQCA_TOPIC_NAME).
The maximum length of the string is MQ_TOPIC_NAME_LENGTH
- TopicString (MQCFST)
- The topic string (parameter identifier: MQCA_TOPIC_STRING).
The '/' character within this string has special meaning. It delimits the elements in the topic tree. A topic string can start with the '/' character but is not required to. A string starting with the '/' character is not the same as the string which starts without the '/' character. A topic string cannot end with the "/" character.
The maximum length of the string is MQ_TOPIC_STR_LENGTH.
- TopicType (MQCFIN)
- Whether this object is a local or cluster topic (parameter identifier: MQIA_TOPIC_TYPE).
The value can be:
- MQTOPT_LOCAL
- This object is a local topic.
- MQTOPT_CLUSTER
- This object is a cluster topic.
- UseDLQ (MQCFIN)
- Whether the dead-letter queue (or undelivered message queue) should be used when publication
messages cannote be delivered to their correct subscriber queue (parameter identifier:
MQIA_USE_DEAD_LETTER_Q).
The value might be:
- MQUSEDLQ_NO
- Publication messages that cannot be delivered to their correct subscriber queue are treated as a failure to put the message and the application's MQPUT to a topic will fail in accordance with the settings of NPMSGDLV and PMSGDLV.
- MQUSEDLQ_YES
- If the queue manager DEADQ attribute provides the name of a dead-letter queue then it will be used, otherwise the behvaiour will be as for MQUSEDLQ_NO.
- MQUSEDLQ_AS_PARENT
- Whether to use the dead-letter queue is based on the setting of the closest administrative topic object in the topic tree.
- WildcardOperation (MQCFIN)
- Behavior of subscriptions including wildcards made to this topic (parameter identifier:
MQIA_WILDCARD_OPERATION).
The value can be:
- MQTA_PASSTHRU
- Subscriptions made using wildcard topic names that are less specific than the topic string at this topic object receive publications made to this topic and to topic strings more specific than this topic. MQTA_PASSTHRU is the default supplied with IBM MQ .
- MQTA_BLOCK
- Subscriptions made using wildcard topic names that are less specific than the topic string at this topic object do not receive publications made to this topic or to topic strings more specific than this topic.
Parent topic: Definitions of the Programmable Command Formats