qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robbie Gemmell (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (QPID-5762) Broker won't start from default broker artefact unless JE is added to ./lib
Date Tue, 20 May 2014 11:48:38 GMT

     [ https://issues.apache.org/jira/browse/QPID-5762?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Robbie Gemmell updated QPID-5762:
---------------------------------

    Description: 
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. BDB JE itself is intentionally omitted from the broker
release artifact (provided scope) 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.


  was:
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.



> 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. BDB JE itself is intentionally omitted from the broker
release artifact (provided scope) 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


Mime
View raw message