This post has been republished via RSS; it originally appeared at: Microsoft Tech Community - Latest Blogs - .
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/
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.
Note:
If you struggle downloading using the IBM downloader, then use http option
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
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
Receive the message
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 |
|
|
Actions
Stateful |
Stateless |