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?
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.