[ 
https://issues.apache.org/jira/browse/QPID-1379?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gordon Sim reassigned QPID-1379:
--------------------------------

    Assignee: Jonathan Robie  (was: Gordon Sim)

Jonathan,

Seems like this might be of interest to you. If not just assign it back to me.

Gordon.

> Describe, test and show example of using message acquire from c++
> -----------------------------------------------------------------
>
>                 Key: QPID-1379
>                 URL: https://issues.apache.org/jira/browse/QPID-1379
>             Project: Qpid
>          Issue Type: Test
>          Components: C++ Client
>    Affects Versions: M3
>            Reporter: Gordon Sim
>            Assignee: Jonathan Robie
>            Priority: Minor
>         Attachments: acquire_example.tgz
>
>
> Attached is a simple example that shows how a subscriber in not-acquired mode 
> can received messages and subsequently acquire them. The producer creates 
> 'tasks' which are processed by one of as many acquirers as you want to have 
> running; each of which will attempt to acquire the task before 'processing' 
> it for a random amount of time.
> Captured here along with some introductory blurb on message acquire (below) 
> for later polishing and inclusion into qpid svn tree/wiki in some form.
> A message is acquired by calling messageAcquire() on the session. This takes 
> a SequenceSet argument which represents a set of message ids that are to be 
> acquired (which may just be a single message).
> E.g.
> SequenceSet ids(message.getId());
> MessageAcquireResult result = session.messageAcquire(ids);
> You need to check that the acquire was successful. The response to 
> messageAcquired is a set of message ids that were successfully acquired. By 
> testing whether that includes the particular message you are interested in, 
> you can determine whether or not the acquire succeeded.
> if (result.getTransfers().contains(message.getId())) {
>     //acquire for that id succeeded
> } else {
>     //that id could not be acquired
> }
> To use message acquire you should have subscribed in not-acquired mode. At 
> present the recommended approach for this is to set the acquire mode to true 
> on the subscription manager.
> E.g.
> SubscriptionManager subscriptions(session);
> subscriptions.setAcquireMode(true);
> subscriptions.subscribe(worker, "task_queue"); 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to