You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Christian Fromme <ka...@strace.org> on 2013/05/22 13:36:50 UTC

MessageStore.h missing?

Greetings Qpid-users,

I'm trying to build the Message Store of qpidcomponents.org[0] from
source. Even though I have a working Qpid 0.20 installation on the
system, the configure run complains about a missing MessageStore.h
header file.

I've build a Qpid 0.20 from source, installed to local
`/opt/qpid/qpid-0.20`. Now when I check the include dir there, no
MessageStore.h is to be found. Further investigation shows that a
simple `./configure/make/make` install in the qpidc-0.20 source dir
won't install the MessageStore.h file that is indeed available under
`qpidc-0.20/src/qpid/broker`. In fact, it installs only the header
files under `qpidc-0.20/include`, none from `qpidc-0.20/src`. Am I
missing a configure option? How do I make MessageStore.h appear in the
install prefix include path that is needed by Message Store from
qpidcomponents.org?

TIA,
Christian

[0] http://anonsvn.jboss.org/repos/rhmessaging/store/trunk/cpp

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: MessageStore.h missing?

Posted by Christian Fromme <ka...@strace.org>.
On Wed, May 22, 2013 at 1:36 PM, Christian Fromme <ka...@strace.org> wrote:
> Greetings Qpid-users,
>
> I'm trying to build the Message Store of qpidcomponents.org[0] from
> source. Even though I have a working Qpid 0.20 installation on the
> system, the configure run complains about a missing MessageStore.h
> header file.

Maybe I should add that I'm using `./configure
--with-qpid-prefix=/opt/qpid/qpid-0.20`, not the --with-qpid-checkout
option.

Christian

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: MessageStore.h missing?

Posted by Gordon Sim <gs...@redhat.com>.
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 <gs...@redhat.com> 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: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: MessageStore.h missing?

Posted by Christian Fromme <ka...@strace.org>.
Hi Gordon,

thanks for your answer.

On Thu, May 23, 2013 at 2:55 PM, Gordon Sim <gs...@redhat.com> 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). Can you think of a way some sort of watchdog thread in a
process is informed that the broker died *besides* polling it
constantly? 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: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: MessageStore.h missing?

Posted by Gordon Sim <gs...@redhat.com>.
On 05/22/2013 12:36 PM, Christian Fromme wrote:
> Greetings Qpid-users,
>
> I'm trying to build the Message Store of qpidcomponents.org[0] from
> source. Even though I have a working Qpid 0.20 installation on the
> system, the configure run complains about a missing MessageStore.h
> header file.
>
> I've build a Qpid 0.20 from source, installed to local
> `/opt/qpid/qpid-0.20`. Now when I check the include dir there, no
> MessageStore.h is to be found. Further investigation shows that a
> simple `./configure/make/make` install in the qpidc-0.20 source dir
> won't install the MessageStore.h file that is indeed available under
> `qpidc-0.20/src/qpid/broker`. In fact, it installs only the header
> files under `qpidc-0.20/include`, none from `qpidc-0.20/src`. Am I
> missing a configure option? How do I make MessageStore.h appear in the
> install prefix include path that is needed by Message Store from
> qpidcomponents.org?

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?)

> TIA,
> Christian
>
> [0] http://anonsvn.jboss.org/repos/rhmessaging/store/trunk/cpp
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org