qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andy Grove" <a...@codesuccess.com>
Subject RE: QPID M2 and Berkley DB
Date Sat, 03 Nov 2007 11:27:21 GMT
Thanks Martin. 

I tried building from source but there are some source incompatibilities between bdbstore
and QPID M2. I made the following minor changes to be able to compile QPID M2 and bdbstore.

1. Add additional constructors to QPID AMQException that take a message and an exception
2. Change bdbstore to use the new AMQException constructors
3. Change scope of QPID AMQMessage.incrementReference() from protected to public

However, all of the bdbstore tests failed with a NPE:

	at org.apache.qpid.server.exchange.DefaultExchangeFactory.initialise(DefaultExchangeFactory.java:73)
	at org.apache.qpid.server.virtualhost.VirtualHost.&amp;init&amp;(VirtualHost.java:148)
	at org.apache.qpid.server.virtualhost.VirtualHost.&amp;init&amp;(VirtualHost.java:122)
	at org.apache.qpid.server.store.berkeleydb.BDBStoreTest.setUp(BDBStoreTest.java:83)

The initiating code in BDBStoreTest is:

        _virtualHost = new VirtualHost("test", _store);

That constructor is implemented in QPID as:

    public VirtualHost(String name, MessageStore store) throws Exception
        this(name, null, store);

This results in a null hostConfig being passed to an overloaded constructor and hence causes
the DefaultExchangeFactory to fail because it attempts to call methods on the hostConfig object.

I don't yet understand the relationship between Apache and Red Hat on these projects. Red
Hat obviously have their own broker implementation based on QPID. Is the intention for bdbstore
to be backwards compatible with Apache QPID? Should I file bugs with Apache and/or Red Hat
for this issue?



-----Original Message-----
From: martin.a.ritchie@googlemail.com [mailto:martin.a.ritchie@googlemail.com] On Behalf Of
Martin Ritchie
Sent: 29 October 2007 10:31
To: qpid-users@incubator.apache.org
Subject: Re: QPID M2 and Berkley DB

Yes, that page has not been updated since the BDB Code moved repository.

You can download the source code here:

if you place the bdbstore directory in your apache java directory it
will build using mvn from within the bdbstore directory.

I don't believe we have a binary build as yet. I'm sure when M2 has
been released there will be a corresponding package made.

On 27/10/2007, Andy Grove <andy@codesuccess.com> wrote:
> Hi,
> I'd like to use QPID with Berkeley DB rather than the in-memory message
> store.
> I downloaded the bdbstore.jar and followed the instructions on the following
> page:
> http://cwiki.apache.org/qpid/3rd-party-libraries.html
> I also downloaded Berkeley DB Java Edition version 3.2.44.
> When I run qpid-server I get this stack trace:
> Exception in thread "main" java.lang.AbstractMethodError:
> org.apache.qpid.server.store.berkeleydb.BDBMessageStore.configure
> (Lorg/apache/qpid/server/virtualhost/VirtualHost;Ljava/lang/String;Lorg/apache/commons/configuration/Configuration;)V
>         at
> org.apache.qpid.server.virtualhost.VirtualHost.initialiseMessageStore(
> VirtualHost.java:190)
>         at org.apache.qpid.server.virtualhost.VirtualHost.<init>(
> VirtualHost.java:162)
> If I understand this correctly, the bdbstore.jar I downloaded is not
> compatible with the M2 release. Is there a newer bdbstore available or can I
> build one from source?
> Thanks,
> Andy.

Martin Ritchie

View raw message