Many thanks.

On Wed, Aug 19, 2020, 11:11 AM Cliff Jansen <[email protected]> wrote:

> There is nothing wrong with your current strategy.  You could
> alternatively create a new connection on the same proactor instance.
> You can also reuse a connection with a new transport, for example by
> calling pn_proactor_release_connection() when you get the
> PN_TRANSPORT_CLOSED event and before calling pn_proactor_connect2() to
> the same address or to a failover address.
>
> I am not aware that any of the above is a best practice in any way.
> Any saved teardown and re-setup operations probably occur infrequently
> enough in the life of the application such that you should just pick
> whichever best suits the design of your application.
>
> In any of the above scenarios, the application needs to track which
> deliveries were not settled and re-send the associated messages.  The
> proton engine does not transfer/preserve delivery or other link state
> from the old link object to the new one when you recreate the link.
>
> On Fri, Aug 14, 2020 at 1:33 PM Adrian Florea <[email protected]>
> wrote:
> >
> > Hi,
> >
> > I have a C app using Proton-C and it is connected to an AMQP provider.
> > Periodically, the AMQP provider is closing the connection and I need to
> > reconnect (my app is supposed to run, ideally, 24/7).
> >
> > Currently, I handle this by simply catching the related transport events
> in
> > the Proactor event loop and then, when I get those errors, I free the
> > proactor, free the AMQP message and then go back to the initial Proactor
> > loop .... similar behavior as it happens when the program first starts.
> It
> > works.
> >
> > My question is: is there any best practice to handle a reconnect, less
> > invasive than just freeing the Proactor and starting from scratch ?
> >
> > Additionally, is there a way so I reconnect and also keep my link objects
> > and "reuse" / "re-attach" them after the reconnect ?
> >
> > Many thanks,
> > Adrian
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to