On Mon, Jan 11, 2010 at 5:48 AM, Gordon Sim <[email protected]> wrote:
> Note that there is a problem with SubscriptionManager::start() in that you
> are unable to handle any exceptions thrown during dispatching. For that
> reason I would advocate using SubscriptionManager::run(), starting your own
> thread for it if so desired.

I ran into this recently, and by "this" I mean that it appears
impossible to catch exceptions thrown when using the async
SubscriptionManager methods.  Is this actually the case or am I
missing something?  Is there a way to join the async thread to handle
the exception or some way to otherwise register an exception handler?

Connection exceptions are thrown by the async threads when the broker
process is restarted.  Since no exception handler is present
std::terminate() is called which brings down the whole client
application.

Is the only solution to this to bring my own thread where I can wrap
exception handlers around the synchronous SubscriptionManager methods?

--jason

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to