Перейти к содержанию

IBM MQ

Official Documentation

IBM MQ messages

Types of message

There are four types of messages defined by IBM® MQ. These four messages are:

  1. Datagram — without acknowledging the receipt of the message.
  2. Request messages — when you want a reply from the application that receives the message.
  3. Reply messages — reply to another message.
  4. Report messages — inform applications about events such as the occurrence of an error when processing a message.

Applications can use the first three types of messages to pass information between themselves. The fourth type, report, is for applications and queue managers to use to report information about events such as the occurrence of an error.

Resources for application developers

Developing applications for IBM MQ

IBM MQ Developer Essentials

Improving your IBM MQ applications

IBM MQ cheat sheet for developers

IBM MQ Tutorials

Avoiding disruption around planned maintenance

Application design and performance considerations

Script for running IBM MQ locally in a Docker container

docker_run_ibm_mq.sh
#!/bin/bash

##########################################################################################
# Script for running IBM MQ locally in a Docker container.
#
# Administration is performed using the following tools:
#   1. IBM MQ Web Console: https://127.0.0.1:9443/ibmmq/console/login.html
#   2. IBM MQ Explorer.
#
# Docs:
#   1. https://developer.ibm.com/tutorials/mq-connect-app-queue-manager-containers/
#   2. https://github.com/ibm-messaging/mq-container/blob/master/docs/developer-config.md
#   3. https://github.com/ibm-messaging/mq-container
#
# Developed by: Viacheslav Kolupaev, https://vkolupaev.com/
##########################################################################################


# 1. Create a volume.
docker volume create qm1data

# 2. Run the MQ server container.
docker run \
  --detach \
  --restart=no \
  --log-driver=local  `# https://docs.docker.com/config/containers/logging/local/` \
  --log-opt mode=non-blocking \
  --env LICENSE=accept \
  --env MQ_QMGR_NAME=QM1 \
  --env MQ_ADMIN_PASSWORD=try-hard  `# keep your password a secret` \
  --env MQ_APP_PASSWORD=try-hard  `# keep your password a secret` \
  --env MQ_ENABLE_METRICS=true \
  --env MQ_ENABLE_EMBEDDED_WEB_SERVER=true \
  --volume qm1data:/mnt/mqm \
  --publish 1414:1414 \
  --publish 9443:9443 \
  --publish 9157:9157 \
  --network=prometheus-net \
  --name QM1 \
  icr.io/ibm-messaging/mq:9.1.5.0-r2