You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by "Flores, Paul A." <PA...@SAIC.COM> on 2016/03/23 16:39:37 UTC

Messenger: Request Reply - Fundamental questions?

I originally posted this to the protons discussion list but didn't get any "hits".  Hopefully on this list I might.

At client.

Considering Messenger and have been asked to describe how a Messenger would handle request reply processing.

Fundamental question -> Can a Messenger "act" as both a Message Producer (send) and Consumer (receive) messages or is a Messenger limited to a single "role"?

Consider the following "flow":

Starting from the Requester role:

A Message is created with the reply-to property set with a generated reply-to queue

A Messenger is "set up" to send a message

A Messenger sends the message

So here is where my confusion begins with Messenger

Knowing that the Messenger is expecting a reply when does the a Messenger begin to "listen" for a reply?  After the message is settled or before?

How does a Messenger "listen" for a reply?  Is it enough to do  a "get" on the reply-to Address supplied with the message?

It is obvious that the questions are similar in nature for the Messenger that is in the role of responding to a request which is at the heart of the fundamental question; transitioning between the implied roles in a Request Reply scenario.

Last fundamental question is whether blocking is sufficient to emulate synchronous call behavior?

Thanks for any inputs, insight or comments!

Paul Flores
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: Messenger: Request Reply - Fundamental questions?

Posted by Gordon Sim <gs...@redhat.com>.
On 23/03/16 15:39, Flores, Paul A. wrote:
> I originally posted this to the protons discussion list but didn't get any "hits".  Hopefully on this list I might.
>
> At client.
>
> Considering Messenger and have been asked to describe how a Messenger would handle request reply processing.
>
> Fundamental question -> Can a Messenger "act" as both a Message Producer (send) and Consumer (receive) messages or is a Messenger limited to a single "role"?

A messenger can act as both producer and consumer. If you are using the 
c version, there is a pair of test utilities that can be made to do 
request-reponse, in tests/tools/apps/c, msgr-send and msgr-recv.

> Consider the following "flow":
>
> Starting from the Requester role:
>
> A Message is created with the reply-to property set with a generated reply-to queue
>
> A Messenger is "set up" to send a message
>
> A Messenger sends the message
>
> So here is where my confusion begins with Messenger
>
> Knowing that the Messenger is expecting a reply when does the a Messenger begin to "listen" for a reply?  After the message is settled or before?
>
> How does a Messenger "listen" for a reply?  Is it enough to do  a "get" on the reply-to Address supplied with the message?
>
> It is obvious that the questions are similar in nature for the Messenger that is in the role of responding to a request which is at the heart of the fundamental question; transitioning between the implied roles in a Request Reply scenario.
>
> Last fundamental question is whether blocking is sufficient to emulate synchronous call behavior?
>
> Thanks for any inputs, insight or comments!

My personal recommendation would be to not use Messenger. There are some 
limitations, it is not always easy to use and no-one is really actively 
maintaining it at present. This is perhaps especially true if you are 
interested in the java version.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org