Search code examples
ibm-mqazure-logic-appsazureservicebus

Azure logic apps pulling messages >4mb from IBM WebSphere MQ


I'm trying to pull messages from an IBM MQ to an Azure logic app workflow.

This seems to work fine for all messages under 4mb- but as soon as a large message comes in (>4mb) it truncates this back down to 4mb and then throws it onto the Azure Service bus.

I've not found much documentation online relating to Azure/IBM MQ integration, I found this comment from a user on a forum:

"IBM support team is really only concerned with the IBM cloud. They're not supporting any other cloud platforms or suggestions. It would be nice if we could get support for Azure. MQ supports more than 4MB of data transmitting. That is not supported by ASB. Because of this feature, we are using MQ. Otherwise, clients will be motivated to use Azure Service Bus. IBM MQ should think about how the cost can be minimized and how to provide better service for users. MQ could provide more incentives or services that are better than Service Bus, so that our users will be motivated to use IBM MQ."

Not sure if linked?

https://www.peerspot.com/questions/what-needs-improvement-with-ibm-mq

The initial problem was that the IBM MQ was limited to smaller messages (by default 4mb) i've upped this to the max limit of 100mb. Same issue occurs.

The Azure service bus is premium tier so definitely allows messages up to 100mb.


Solution

  • To retrieve messages larger than 4MB, you need to increase several attributes. The maximum value is 100MB. (i.e. 104857600) So, I'll assume that's what you require.

    Hence, you need to change the following attributes:

    • Change the queue's MAXMSGL attribute to 104857600
    • Change the queue manager's MAXMSGL attribute to 104857600
    • Change the channel's MAXMSGL attribute to 104857600. Note: both ends of the channel.
    • Change the Dead Letter Queue's MAXMSGL attribute to 104857600

    Did you change all of those attributes?