qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shearer, Davin" <dshea...@novetta.com>
Subject Re: How to use lifetime policies
Date Fri, 10 Jan 2014 16:03:17 GMT
>
> A similar issue was closed with wont-fix:
> https://issues.apache.org/jira/browse/PROTON-426. The problem is I think
> that with the dynamic flag the name is actually created by the remote peer,
> so its not immediately obvious how this would be passed back in the
> messenger API.


 OK, I'm missing something.  In the python code using proton, I have the
following lines:

    reply_subscription = messenger.subscribe("amqp://%s/#" % host)
    reply_address = reply_subscription.address

The reply address is being set to something like
ec940df5-4882-455a-bc14-49b2fb2c8ae1_receiver-xxx.  I didn't think that an
AMQP 1.0 client could create nodes _that it named_ on the broker.  AFAIK,
proton is all AMQP 1.0 all the time (and therefore should be vendor
agnostic), but yet using proton I was able to create a queue on my qpid
broker.  So now the question is, who named it?  The spec states that the
name of the dynamic queue is created by the broker (this is why the name
must not be set when using dynamic).  In that python code snippet above, I
ask the broker for a dynamic node and I get the newly created node address
via the reply_subscription.address attribute, but the qpid broker did not
mark the queue as auto-del.

I'd prefer to solve this using proton rather than qpid::messaging (I
actually have this working using libqpid*, but proton is appealing because
it is easy on its dependencies among other things).  libqpidmessaging has
more dependencies that I'd need to carry through when deploying my library
that I'd rather not have to carry though, like boost.  It is very likely
that projects linking my library will be using boost and I want to avoid
symbol version issues with the version of boost that they might be linking
against.


On Fri, Jan 10, 2014 at 10:08 AM, Gordon Sim <gsim@redhat.com> wrote:

> On 01/10/2014 02:26 PM, Shearer, Davin wrote:
>
>> A couple of things...  being able to configure lifetime policies on the
>> broker based on the name of the node is a wonderful idea and I look
>> forward
>> to that in qpid 0.26.  Problem is that I need to have the solution work on
>> RHEL6 (which ships with qpid 0.14) if possible.
>>
>
> One thing to point out is that that version of qpidd doesn't support AMQP
> 1.0 at all.
>
> [...]
>
>
>  If only there is a way to set the dynamic flag on the terminus for the
>> link
>> at the Messenger level as I think that would add the auto-del attribute to
>> the queue.  I think this is possible if I were using the proton Engine
>> rather than the Messenger
>>
>
> Correct, though unless there are specific reasons not to, I would suggest
> using qpid::messaging rather than building your own solution on top of the
> engine API.
>
>
>    and I tried to piece together what I need to do from studying the code
>> found in proton.c, but the send loop in that code gave me a headache.  I
>> think we just allow Messenger to set that dynamic flag when a subscription
>> is requested, I could use Messenger and be golden, so if I have a feature
>> request, that would be what I want.
>>
>
> A similar issue was closed with wont-fix: https://issues.apache.org/
> jira/browse/PROTON-426. The problem is I think that with the dynamic flag
> the name is actually created by the remote peer, so its not immediately
> obvious how this would be passed back in the messenger API.
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org
>
>


-- 
Davin Shearer
Engineer

8830 Stanford Blvd, Suite 306
Columbia, MD 21045

443-741-4517

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message