Search code examples
c#ibm-mqxms

IBM Webshpere MQ .net client, which is more suitble amqmdnet or XMS


I have a IBM websphere MQ .net client application which uses amqmdnet dll. It works fine but I am not able to read messages in event(subscription) based manner. Reading online I found that XMS library has in-built subscriber methods.

I am also looking at scalability of the .net client application which will allow a cluster of nodes reading the same MQ pipeline. My objective is to create a .net message consumer which supports

  • point-to-point & publish/subscribe method

  • Cluster of nodes connecting to same queue and consuming messages.

  • Remove the messages from pipeline once it is persisted.

Which of the method is preferred in such scenario?


Solution

  • Both IBM MQ classes for .NET(amqmdnet.dll) and IBM Message Service API for .NET(XMS .NET) support most features of IBM MQ: Both support point-to-point & publish/subscribe. Both support multiple clients connecting and consuming from a single queue. Both support units of work. Both are fully supported by IBM.

    XMS .NET supports MessageListener objects to simplify consuming from a queue. In IBM MQ classes for .NET you would need to write your own function to consume from a queue.

    IBM Technote "XMS .NET – An Overview has a good overview of XMS .NET features.