Many thanks Gordon and Robbie for your suggestions. 
1) For the quick turnaround, I am going to use the logic of acknowledge vs 
release depending whether the message belongs to my instance or not.
2) For the longer term/better solution, I will start looking into selector. Is 
this within qpid C++ or proton layer. Any quick pointer will be highly 
appreciated.

Best regards,
Rahul 

-----Original Message-----
From: Gordon Sim <g...@redhat.com> 
Sent: 31 March 2022 11:15
To: users@qpid.apache.org
Subject: Re: QPID C++ Queue handling

On Thu, Mar 31, 2022 at 11:06 AM rahul.sin...@morganstanley.com 
<rahul.sin...@morganstanley.com> wrote:
> How do we ensure the first receiver has released it? Is it invocation of 
> Session::acknowledge(msg) which makes it available to other receivers?

No, acknowledging the message will remove it permanently from the queue. To 
release you need to use Session::relese(msg). However it is always possible 
that the broker will allocate the same message to you again, so there can be 
some inefficiency involved.

Are you able to use a selector? That way your receivers could select only those 
messages with the appropriate value(s) for APPId.

> What difference will it make if we use Receiver::get() instead of 
> Receiver::fetch() ?

In this context none at all. The difference there is simply how the client 
handles the case where it has no prefetched message available.


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


--------------------------------------------------------------------------------
NOTICE: Morgan Stanley is not acting as a municipal advisor and the opinions or 
views contained herein are not intended to be, and do not constitute, advice 
within the meaning of Section 975 of the Dodd-Frank Wall Street Reform and 
Consumer Protection Act. If you have received this communication in error, 
please destroy all electronic and paper copies and notify the sender 
immediately. Mistransmission is not intended to waive confidentiality or 
privilege. Morgan Stanley reserves the right, to the extent permitted under 
applicable law, to monitor electronic communications. This message is subject 
to terms available at the following link: 
http://www.morganstanley.com/disclaimers  If you cannot access these links, 
please notify us by reply message and we will send the contents to you. By 
communicating with Morgan Stanley you consent to the foregoing and to the voice 
recording of conversations with personnel of Morgan Stanley.

You may have certain rights regarding the information that Morgan Stanley 
collects about you.  Please see our Privacy Pledge 
https://www.morganstanley.com/privacy-pledge for more information about your 
rights.

Reply via email to