spakendralo man
spakendralo man

Reputation: 665

How is message exchange implemented in IBM MQ: push or pull?

I'd like to understand what is the implementation of the JMS drivers for WebSphere MQ. I'm not interested in the JMS sync/async methods directly but rather in their implementation.

If an application is deployed on a J2EE server and performs asynchronous calls (by implementing onMessage()), does the J2EE server still pull to check for the availability of a message or does MQ actively call back the client (J2EE server) through the opened socket to notify the presence of the message?

Upvotes: 1

Views: 2041

Answers (1)

Morag Hughson
Morag Hughson

Reputation: 7525

It depends on what version of IBM MQ you are using.

Prior to MQ V7, the JMS layer would poll the queue manager for a message - essentially pull.

After MQ V7, the queue manager natively understands and implements asynchronous get where it will notify the getter of a message so it no longer has to poll.

Further Reading

Upvotes: 3

Related Questions