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: [email protected]
For additional commands, e-mail: [email protected]