Skip to content

Latest commit

 

History

History
148 lines (84 loc) · 4.07 KB

README.md

File metadata and controls

148 lines (84 loc) · 4.07 KB

IBM MQ Node.js samples

The Node.js samples are based on https://github.com/ibm-messaging/mq-mqi-nodejs/tree/master/samples and have been tested with Node.js v8.11.1 , v10.15.2 & v12.13.0

Install/unzip IBM MQ client

Mac

IBM MQ MacOS toolkit for developers v 9.1.1.0 download

Add <unzip location>/IBM-MQ-Toolkit-Mac-x64-9.1.1.0/bin and <unzip location>/IBM-MQ-Toolkit-Mac-x64-9.1.1.0/samp/bin, to the PATH by editing /etc/paths

export DYLD_LIBRARY_PATH=<unzip location>/IBM-MQ-Toolkit-Mac-x64-9.1.1.0/lib64

export MQ_INSTALLATION_PATH=<unzip location>/IBM-MQ-Toolkit-Mac-x64-9.1.1.0

Windows

Windows client v 9.1.1.0 download

Linux

Linux Ubuntu client v 9.1.1.0 download

To run the examples cd to the Node.js directory and install the prerequsites by running :

npm install

Intro to Node.js Samples

Stand alone Node.js samples

basicput.js - Puts message to a queue

basicget.js - Gets message from a queue

basicsubscribe.js - Subscribes to a topic string and gets publications/messages

basicpublish.js - Publishes messages to a topic string

basicrequest.js - Puts a message on a request queue and waits for a response

basicresponse.js - Gets message from a request queue, does something with the message and puts it to the reply queue.

Refactored samples to reduce duplication

sampleput.js - Puts message to a queue

sampleget.js - Gets message from a queue

samplesubscribe.js - Subscribes to a topic string and gets publications/messages

samplepublish.js - Publishes messages to a topic string

samplerequest.js - Puts a message on a request queue and waits for a response

sampleresponse.js- Gets message from a request queue, does something with the message and puts it to the reply queue.

boilerplate.js - Common class, manages the connection to queue manager, contains generic consumer and producer code.

Put / Get

The put application places a json object onto the queue. To run with logging, run

On Mac and Linux:

DEBUG=amqs*:* node basicput.js

On Windows:

export DEBUG=amqs*:*
node basicput.js

The get application reads a json object from the queue.

To run with logging, run

DEBUG=amqs*:* node basicget.js

The get and put applications have the common MQ boiler plate factorised into a library and make use of promises.

To run with logging, run DEBUG=sample*:*,boiler:* node sampleput.js and DEBUG=sample*:*,boiler:* node sampleget.js

Publish / Subscribe

The publish application publishes a json object onto a topic. To run with logging, run

DEBUG=amqs*:* node basicpublish.js

The subscribe application subscribes to a topic.

To run with logging, run

DEBUG=amqs*:* node basicsubscibe.js

The publish and subscribe applications have the common MQ boiler plate factorised into a library and makes use of promises.

To run with logging, run

DEBUG=sample*:*,boiler:* node samplepublish.js

and

DEBUG=sample*:*,boiler:* node samplesubscribe.js

Request / Response

The request application create a dynamic queue for a reply, and places a json object consisting of the request onto a queue, then waits for a response to the request.

To run with logging, run

DEBUG=amqs*:* node basicrequest.js

and

DEBUG=amqs*:* node basicresponse.js

The request / response applications have the common MQ boiler plate factorised into a library and makes use of promises.

To run with logging, run

DEBUG=sample*:*,boiler:* node sampleresponse.js

and

DEBUG=sample*:*,boiler:* node samplerequest.js