You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Keith Wall (JIRA)" <ji...@apache.org> on 2014/05/13 10:12:14 UTC

[jira] [Created] (QPID-5762) Broker won't start from default broker artefact unless JE is added to ./lib

Keith Wall created QPID-5762:
--------------------------------

             Summary: Broker won't start from default broker artefact unless JE is added to ./lib
                 Key: QPID-5762
                 URL: https://issues.apache.org/jira/browse/QPID-5762
             Project: Qpid
          Issue Type: Bug
          Components: Java Broker
    Affects Versions: 0.29
            Reporter: Keith Wall


If I build the Java Broker from Maven, then try and start the Broker from the artefact at broker/target/qpid-broker-0.30-SNAPSHOT-bin.tar.gz, I find the Broker fails to start with the following exception:

{noformat}
 Exception during startup: java.lang.NoClassDefFoundError: com/sleepycat/je/rep/StateChangeListener
java.lang.NoClassDefFoundError: com/sleepycat/je/rep/StateChangeListener
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2531)
at java.lang.Class.getDeclaredMethods(Class.java:1855)
at org.apache.qpid.server.model.ConfiguredObjectTypeRegistry.process(ConfiguredObjectTypeRegistry.java:367)
at org.apache.qpid.server.model.ConfiguredObjectTypeRegistry.<clinit>(ConfiguredObjectTypeRegistry.java:91)
at org.apache.qpid.server.model.AbstractConfiguredObjectTypeFactory.getCategoryClass(AbstractConfiguredObjectTypeFactory.java:49)
at org.apache.qpid.server.model.ConfiguredObjectFactoryImpl.<init>(ConfiguredObjectFactoryImpl.java:53)
at org.apache.qpid.server.model.BrokerModel.<init>(BrokerModel.java:103)
at org.apache.qpid.server.model.BrokerModel.<clinit>(BrokerModel.java:46)
at org.apache.qpid.server.model.SystemContextImpl.<init>(SystemContextImpl.java:53)
(snip)
at org.apache.qpid.server.Main.main(Main.java:125)
Caused by: java.lang.ClassNotFoundException: com.sleepycat.je.rep.StateChangeListener
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
{noformat}

The problem is that the Broker now introspects the whole model on startup, this discovery process encounters the classes within qpid-bdbstore-*.jar, which then fails owing to the fact that the (BDB) je.jar cannot be found.  JE itself is intentional optional owing to license constraints.

We either need to make the COTR tolerant to such exceptions (perhaps logging a message) and/or change the packaging so that  qpid-bdbstore-*.jar is excluded from the default artefact.




--
This message was sent by Atlassian JIRA
(v6.2#6252)

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