Writing publisher applications
Get started with writing publisher applications by studying two examples. The first is modeled as closely as possible on a point to point application putting messages on a queue, and the second demonstrates creating topics dynamically - a more common pattern for publisher applications.
Writing a simple IBM MQ publisher application is just like writing an IBM MQ point to point application that puts messages to a queue ( Table 1 ). The difference is you MQPUT messages to a topic, not to a queue.
Table 1. Point to point versus publish/subscribe IBM MQ program pattern.
Step |
Point to point MQ Call |
Publish MQ Call |
Connect to a queue manager |
MQCONN |
MQCONN |
Open queue |
MQOPEN |
|
Open topic |
|
MQOPEN |
Put message(s) |
MQPUT |
MQPUT |
Close topic |
|
MQCLOSE |
Close queue |
MQCLOSE |
|
Disconnect from queue manager |
MQDISC |
MQDISC |
To make that concrete, there are two examples of applications to publish stock prices. In the first example ( Example 1: Publisher to a fixed topic ), that is modeled closely on putting messages to a queue, the administrator creates a topic definition in a similar way to creating a queue. The programmer codes MQPUT to write messages to the topic instead of writing them to a queue. In the second example ( Example 2: Publisher to a variable topic ), the pattern of interaction of the program with IBM MQ is similar. The difference is the programmer provides the topic to which the message is written, rather than the administrator. In practice this typically means that the topic string is content defined, or provided by another source, such as human input through a browser.