MQSD

The Subscription Descriptor (MQSD) is how applications tell IBM MQ pub/sub what they want to hear. Publishers put messages to topic strings; subscribers register interest with MQSD fields—topic name or wildcard, destination queue for delivered copies, whether the subscription is durable, and a subscription name for administration. Without understanding MQSD, developers JMS subscribe successfully in labs but cannot map broker behavior to MQI on the mainframe bridge. Operations sees SUB objects in DISPLAY SUB and ties them to MQSD SubName and TopicString. This tutorial explains MQSD layout, MQSUB registration flow, durable versus non-durable DestQName delivery, shared subscriptions, wildcard topics, authority on destinations, and how MQSD relates to administratively defined SUB objects versus application-registered subs.

Pub/Sub Flow with MQSD

Publisher MQPUT to topic STOCK/PRICE/IBM. Subscriber fills MQSD with TopicString STOCK/PRICE/# or exact match, DestQName SUBSCRIBER.INBOX, and durability flag. MQSUB or equivalent registers subscription. Queue manager copies matching publications to DestQName. Subscriber MQGETs from that queue like any consumer—MQSD work is registration; everyday consumption still uses MQMD and MQGMO on the destination queue.

text
1
2
3
4
5
6
7
8
9
Conceptual MQSD usage (field names per IBM MQI): TopicString = "PRICES/UK/#" DestQName = "APP.SUB.QUEUE" SubName = "UK_PRICES_SUB_01" Durable = Yes (subscription survives disconnect) After MQSUB succeeds, publications matching PRICES/UK/# arrive on APP.SUB.QUEUE for MQGET.
Important MQSD-related concepts
ConceptRole
TopicStringFilter which publications match (+ wildcards)
DestQNameQLOCAL (or alias) receiving copies
SubNameAdministrative identity for DISPLAY SUB
DurableRetain subscription across disconnect
DestQMgrNameTarget QM for destination queue
SubscriptionTypeAPI-defined subscribe modes per IBM docs

Durable Versus Non-Durable

Durable subscriptions survive client disconnect—state kept on queue manager; publications may accumulate on DestQName per RETAIN and depth limits. Non-durable drops subscription when connection ends—suitable for live tick streams where history does not matter. Compare with JMS durable subscription name—must match administrative policy. Missing durable flag loses messages during redeploy when pods restart.

Explainer: Signing Up for Magazine Delivery

MQSD is the magazine subscription card: which topics you want (TopicString), which mailbox to drop copies in (DestQName), and whether the post office keeps your subscription on file when you move away (durable).

Wildcards and Topic Trees

Topic strings form hierarchies separated by /. # matches multiple levels; * matches one level—exact rules in IBM topic tree documentation. Overly broad # subscriptions flood DestQName and hurt performance—design narrow filters. Administrative topic objects can restrict wildcards with authority.

Administrative SUB Versus MQSUB

Operators DEFINE SUB in MQSC creates persistent subscription objects. Applications call MQSUB with MQSD at runtime for dynamic registration. Both must agree on naming standards to avoid duplicate delivery paths. DISPLAY SUB(*) shows running subscriptions; purge orphaned subs after application bugs.

Shared Subscriptions

Multiple consumers share one subscription name so each message goes to only one member of the group—load balancing for pub/sub. MQSD and options flags enable shared mode per IBM release. Contrast with non-shared where every subscriber copy receives every message.

Authority and Security

Subscriber needs authority to MQSUB, put to DestQName if creating, and get from DestQName. Topic authority controls who may subscribe to sensitive hierarchies. RACF on z/OS maps to profiles. Block subscriptions to admin topics with SUBAUTH rules.

JMS Mapping

JMS TopicSubscriber and durable subscriber APIs populate MQSD equivalents inside the client. ConnectionFactory settings affect shared durable naming. Debugging requires tracing MQSD SubName in queue manager events when subscribe fails.

Troubleshooting

  • No messages on DestQName — topic string mismatch; publisher different hierarchy.
  • 2035 on subscribe — topic or queue authority.
  • Duplicate messages — overlapping SUB definitions.
  • Depth explosion — durable sub offline while publishers active.

Explain Like I'm Five: MQSD

MQSD is telling the news station which topics you care about and which basket at your house they should drop the newspapers in.

Practice Exercises

Exercise 1

Design TopicString and DestQName for sports scores only, not finance.

Exercise 2

Compare durable versus non-durable for mobile app push backend.

Exercise 3

Run DISPLAY SUB on lab QM and map fields to MQSD concepts.

Frequently Asked Questions

Frequently Asked Questions

Test Your Knowledge

Test Your Knowledge

1. MQSD is mainly for:

  • Pub/sub subscribe
  • Channel start
  • Disk format
  • JCL execution

2. DestQName is:

  • Queue for delivered publications
  • Cipher suite
  • Listener name
  • XMITQ

3. Durable subscription survives:

  • Subscriber disconnect
  • DELETE QMGR only
  • Format command
  • FTP

4. Topic string in MQSD identifies:

  • Which publications match
  • TCP port
  • MAXMSGL
  • MCAUSER
Published
Read time20 min
AuthorMainframeMaster
Verified: IBM MQ 9.3 documentation