Proton CPP - Set dynamic node properties

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Proton CPP - Set dynamic node properties

James Henry
I have successfully implemented a client and service following the
request/reply pattern using Qpid Proton CPP. However, in some cases the
service/responder is required to hold the reply-to queue open indefinitely.
In these cases when the client is closed or runs into an issue the reply-to
queue is held open by the service side despite the fact that it was
dynamically generated and will not be used again.
I am open to alternative implementation patterns but I believe my current
preferred solution would be to create the dynamic, reply-to queue as
'exclusive' and with a 'delete-on-close' lifetime-policy so the queue is
deleted when the client is closed.
Unfortunately, I have not been able to determine how to set the dynamic node
properties using Proton CPP. They do not appear to be exposed via link
options as they are in other languages like python. It seems the closest to
this capability was lost in proton 0.13 with the transition from link
options to sender and receiver options.
Is there a way to configure this without modifying the proton source that I
am missing?
If not, is there a plan to include the configuration of dynamic node
properties in the source options or other location in CPP proton.

I have used the proton source, commit history, and the following posts as
references:
delete-on-close problem in python
<http://qpid.2158936.n2.nabble.com/delete-on-close-problem-in-python-td7691736.html#a7691742>  

Temporary queues deletion
<http://qpid.2158936.n2.nabble.com/Temporary-queues-deletion-td7672749.html>  

Thank you!




--
Sent from: http://qpid.2158936.n2.nabble.com/Apache-Qpid-users-f2158936.html

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Proton CPP - Set dynamic node properties

Robbie Gemmell
Administrator
I would guess they should be exposed via the source/target options in
the sender/receiver options, but indeed dont appear to be:
http://qpid.apache.org/releases/qpid-proton-0.33.0/proton/cpp/api/classproton_1_1source__options.html
http://qpid.apache.org/releases/qpid-proton-0.33.0/proton/cpp/api/classproton_1_1target__options.html

Someone with more/any clue about the C++ bits might know better, but I
expect they just haven't been exposed so far as they are little-used
and noone pointed it out yet.

On Tue, 1 Dec 2020 at 09:05, HBergeron <[hidden email]> wrote:

>
> I have successfully implemented a client and service following the
> request/reply pattern using Qpid Proton CPP. However, in some cases the
> service/responder is required to hold the reply-to queue open indefinitely.
> In these cases when the client is closed or runs into an issue the reply-to
> queue is held open by the service side despite the fact that it was
> dynamically generated and will not be used again.
> I am open to alternative implementation patterns but I believe my current
> preferred solution would be to create the dynamic, reply-to queue as
> 'exclusive' and with a 'delete-on-close' lifetime-policy so the queue is
> deleted when the client is closed.
> Unfortunately, I have not been able to determine how to set the dynamic node
> properties using Proton CPP. They do not appear to be exposed via link
> options as they are in other languages like python. It seems the closest to
> this capability was lost in proton 0.13 with the transition from link
> options to sender and receiver options.
> Is there a way to configure this without modifying the proton source that I
> am missing?
> If not, is there a plan to include the configuration of dynamic node
> properties in the source options or other location in CPP proton.
>
> I have used the proton source, commit history, and the following posts as
> references:
> delete-on-close problem in python
> <http://qpid.2158936.n2.nabble.com/delete-on-close-problem-in-python-td7691736.html#a7691742>
>
> Temporary queues deletion
> <http://qpid.2158936.n2.nabble.com/Temporary-queues-deletion-td7672749.html>
>
> Thank you!
>
>
>
>
> --
> Sent from: http://qpid.2158936.n2.nabble.com/Apache-Qpid-users-f2158936.html
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Proton CPP - Set dynamic node properties

Justin Ross-3
HBergeron, would you raise an improvement request for this?  I searched,
and I didn't find an existing issue for it.

https://issues.apache.org/jira/secure/CreateIssue!default.jspa?pid=12313720



On Tue, Dec 1, 2020 at 12:08 PM Robbie Gemmell <[hidden email]>
wrote:

> I would guess they should be exposed via the source/target options in
> the sender/receiver options, but indeed dont appear to be:
>
> http://qpid.apache.org/releases/qpid-proton-0.33.0/proton/cpp/api/classproton_1_1source__options.html
>
> http://qpid.apache.org/releases/qpid-proton-0.33.0/proton/cpp/api/classproton_1_1target__options.html
>
> Someone with more/any clue about the C++ bits might know better, but I
> expect they just haven't been exposed so far as they are little-used
> and noone pointed it out yet.
>
> On Tue, 1 Dec 2020 at 09:05, HBergeron <[hidden email]> wrote:
> >
> > I have successfully implemented a client and service following the
> > request/reply pattern using Qpid Proton CPP. However, in some cases the
> > service/responder is required to hold the reply-to queue open
> indefinitely.
> > In these cases when the client is closed or runs into an issue the
> reply-to
> > queue is held open by the service side despite the fact that it was
> > dynamically generated and will not be used again.
> > I am open to alternative implementation patterns but I believe my current
> > preferred solution would be to create the dynamic, reply-to queue as
> > 'exclusive' and with a 'delete-on-close' lifetime-policy so the queue is
> > deleted when the client is closed.
> > Unfortunately, I have not been able to determine how to set the dynamic
> node
> > properties using Proton CPP. They do not appear to be exposed via link
> > options as they are in other languages like python. It seems the closest
> to
> > this capability was lost in proton 0.13 with the transition from link
> > options to sender and receiver options.
> > Is there a way to configure this without modifying the proton source
> that I
> > am missing?
> > If not, is there a plan to include the configuration of dynamic node
> > properties in the source options or other location in CPP proton.
> >
> > I have used the proton source, commit history, and the following posts as
> > references:
> > delete-on-close problem in python
> > <
> http://qpid.2158936.n2.nabble.com/delete-on-close-problem-in-python-td7691736.html#a7691742
> >
> >
> > Temporary queues deletion
> > <
> http://qpid.2158936.n2.nabble.com/Temporary-queues-deletion-td7672749.html
> >
> >
> > Thank you!
> >
> >
> >
> >
> > --
> > Sent from:
> http://qpid.2158936.n2.nabble.com/Apache-Qpid-users-f2158936.html
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Proton CPP - Set dynamic node properties

James Henry
Yes, I will go ahead and open an improvement request.
I look forward to it being added. Thank you for the responses!



--
Sent from: http://qpid.2158936.n2.nabble.com/Apache-Qpid-users-f2158936.html

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]