On 05/24/2013 10:54 AM, Christian Fromme wrote:
Hi Gordon,

thanks for your answer.

On Thu, May 23, 2013 at 2:55 PM, Gordon Sim <[email protected]> wrote:

The situation with that store plugin has been a little messy. In reality
there isn't a clean interface between the broker and the store and the store
is in effect just another part of the broker codebase. In fact, as of 0.22
the store is included in the qpid-cpp release (requires cmake to build it
however), so going forward this should be a lot easier.

When you built from sources, did you use the full qpid sources or just the
-cpp- tarball? It looks to me like building against an installed qpid has
been broken for at least a couple of releases. Using the
--qith-qpid-checkout and --with-qpid-build may be required. (Kim, am I
missing something here?)

Hm.. thats kind of what I feared.

The problem is that I have a distributed setup of Qpid brokers with
routes in between them and I need to make sure that routes are
available after a broker restart. I see two ways to solve this:

a) The broker remembers the routes after a restart.

b) I need a watchdog that magically gets to know when the broker got
restarted, and then adds the routes again.

Since a) currently is problematic, as you pointed out, I'm kinda stuck
with b).

Though a) is a little annoying it shouldn't be too difficult. Do you still have the sources you built qpidd with? If not download the full tarball (http://www.apache.org/dyn/closer.cgi/qpid/0.20/qpid-0.20.tar.gz), untar and build (but don't install), then you can use --with-qpid-checkout (and --with-qpid-build if you do an out of tree build in the previous step), and that should let you build and install the store module.

Can you think of a way some sort of watchdog thread in a
process is informed that the broker died *besides* polling it
constantly?

One way would be to have a receiver fetching with an infinite timeout on a temp queue that never gets a message. If the broker fails a TransportFailure exception will get thrown and you can catch that and do what is needed (even if that is exit to let some script do something).

I could have the watchdog process spawn qpidd, so I get
SIGCHILD when the broker dies, but that doesn't seem very elegant to
me. Is there a better way?

Thanks in advance as usual,
Christian

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



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

Reply via email to