Create test environment for IBM MQ and Logic App
Published May 29 2022 02:49 AM 3,959 Views

Introduction 

in this article I will show how to create IBM MQ server based on a Docker image that will be deployed to azure container instance

create the container instance using Az cli

in this example I will use public ACI  with public IP while you can use private/Vnet integrated as well

The below cli command creates ACI image.

  • provision the default ports 9443,1414
  • Assign the environment variable.
  • add the DNS label so we can access the instance with FQDN since the IP will keep changing on every restart.

 

 

az container create -g MQEnviroment  --dns-name-label myibmmqcontainerwithlable --location westeurope  --name myibmmqcontainerwithlable --image ibmcom/mq --ip-address public --ports 9443 1414  --environment-variables LICENSE=accept MQ_QMGR_NAME=QM1

 

 

 

Also, you can create the above image using ARM template.

 

Check the ACI

After you deploy the image, you need to run it from the portal.

The web console will be running on port 9443

https://myibmmqcontainerwithlable.westeurope.azurecontainer.io:9443/

Mohammed_Barqawi_0-1653806899005.png

 

 

The username and password are:

 

 

admin/passw0rd

 

 

the default developer configuration can be found on mq-container/developer-config.md at 9.2.4 · ibm-messaging/mq-container (github.com)

Configure the IBM MQ Explorer

The IBM MQ explorer will help in testing, the steps to download can be taken form IBM site

Below is the configuration I have used to connect.

Mohammed_Barqawi_1-1653806899010.png

 

Note:

If you struggle downloading using the IBM downloader, then use http option

Mohammed_Barqawi_2-1653806899013.png

 

 

Important information about the IBM MQ and Docker

 

 

Reviewing the Container log

To review or log to the Linux machine that running the MQ server  you need to go to Containers blade then Logs or connect

Mohammed_Barqawi_3-1653806899015.png

 

Logic app side

To test the above setup from logic app standard , I have created two logic apps one to put message and the other one to receive it

Send the message

Mohammed_Barqawi_4-1653806899016.png

 

 

 

Receive the message

Mohammed_Barqawi_5-1653806899017.png

 

 

Configuration snapshot for the MQ service provider connector

 

 

 

 {
    "name": "mq_channelName",
    "value": "DEV.APP.SVRCONN",
    "slotSetting": false
  },
  {
    "name": "mq_password",
    "value": "passw0rd",
    "slotSetting": false
  },
  {
    "name": "mq_portNumber",
    "value": "1414",
    "slotSetting": false
  },
  {
    "name": "mq_queueManagerName",
    "value": "QM1",
    "slotSetting": false
  },
  {
    "name": "mq_serverName",
    "value": "myibmmqcontainerwithlable.westeurope.azurecontainer.io",
    "slotSetting": false
  },
  {
    "name": "mq_userName",
    "value": "app",
    "slotSetting": false
  },
  {
    "name": "mq_useTLS",
    "value": "False",
    "slotSetting": false
  },

 

 

Different between available MQ connector capabilities between the stateful and stateless

 

Due to the nature of design difference between the stateless and stateful logic app the trigger and action are different

 

Triggers

Stateful

Stateless

Mohammed_Barqawi_13-1653807545811.png

 

Mohammed_Barqawi_12-1653807480549.png

 


Actions

Stateful

Stateless

Mohammed_Barqawi_8-1653806899021.png Mohammed_Barqawi_9-1653806899023.png

 

Co-Authors
Version history
Last update:
‎May 29 2022 02:49 AM
Updated by: