CLASSPATH 5.3.2 and 5.3.0 ?

by Eric-AWLon 2010-07-26T11:28:17+00:00

Hi
I use an activemq.xml file to configure my brokers (embedded or not).
When I use 5.3.0.5 fuse version, my CLASSPATH is
/SIB/activemq-release/activemq-all-5.3.0.5-fuse.jar:
/SIB/activemq-release/lib/commons-logging-1.1.jar:
/SIB/activemq-release/lib/optional/xbean-spring-3.6.jar:
/SIB/activemq-release/lib/optional/log4j-1.2.14.jar:
/SIB/activemq-release/lib/optional/spring-beans-2.5.5.jar:
/SIB/activemq-release/lib/optional/spring-context-2.5.5.jar:
/SIB/activemq-release/lib/optional/spring-core-2.5.5.jar:
/SIB/activemq-release/lib/optional/spring-jms-2.5.5.jar
When I compile with maven my own version of 5.3.2 (ActiveMQ), my Classpath
is
/SIB/activemq-release/activemq-all-5.3.2.jar:
/SIB/activemq-release/lib/commons-logging-1.1.jar:
/SIB/activemq-release/lib/optional/xbean-spring-3.6.jar:/
SIB/activemq-release/lib/optional/log4j-1.2.14.jar:
/SIB/activemq-release/lib/optional/spring-beans-2.5.5.jar:
/SIB/activemq-release/lib/optional/spring-context-2.5.5.jar:
/SIB/activemq-release/lib/optional/spring-core-2.5.5.jar:
/SIB/activemq-release/lib/optional/spring-jms-2.5.5.jar
I now have this error :
2010/07/26;13:18:48:773;ERR;CBusSupervisor;ERDFBusSupervisor(td0sib01s.priv.atos.fr);NA;NA;BUSACT-0000;(Exception)
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'org.apache.activemq.xbean.XBeanBrokerService#0' defined in class
path resource [activemq.xml]: Instantiation of bean failed; nested exception
is org.springframework.beans.BeanInstantiationException: Could not
instantiate bean class [org.apache.activemq.xbean.XBeanBrokerService]:
Constructor threw exception; nested exception is
java.lang.NoClassDefFoundError: org/osgi/framework/BundleException
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:883)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:839)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
at
org.apache.xbean.spring.context.ResourceXmlApplicationContext.(ResourceXmlApplicationContext.java:64)
at
org.apache.xbean.spring.context.ResourceXmlApplicationContext.(ResourceXmlApplicationContext.java:52)
at
org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:96)
at
org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:52)
at
org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71)
at
org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54)
at
atosbus.transport.jms.CJMSConnection.(CJMSConnection.java:322)
at
atosbus.transport.CNetworkConnections.connectNetwork(CNetworkConnections.java:526)
at
atosbus.transport.CNetworkConnections.connectBus(CNetworkConnections.java:595)
at
atosbus.core.system.CBusSupervisor.connectBus(CBusSupervisor.java:994)
at erdfAmm.ErdfBusSupervisor.main(ErdfBusSupervisor.java:62)
Caused by: org.springframework.beans.BeanInstantiationException: Could not
instantiate bean class [org.apache.activemq.xbean.XBeanBrokerService]:
Constructor threw exception; nested exception is
java.lang.NoClassDefFoundError: org/osgi/framework/BundleException
at
org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:115)
at
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:61)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:877)
... 24 more
Caused by: java.lang.NoClassDefFoundError:
org/osgi/framework/BundleException
at
org.apache.activemq.xbean.XBeanBrokerService.(XBeanBrokerService.java:57)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at
org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
... 26 more
Caused by: java.lang.ClassNotFoundException:
org.osgi.framework.BundleException
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
... 32 more
If I add "activemq-web-5.3.0.5-fuse.jar" in the classpath, it's now OK.
I looked at the class that are included in the "web-5.3.0.5-fuse jar" and
aren't included in the "all-5.3.2 jar", and I found :
org/apache/activemq/web/AjaxServlet.class
org/apache/activemq/web/BrokerFacade.class
org/apache/activemq/web/BrokerFacadeSupport.class
org/apache/activemq/web/ConnectionQuery.class
org/apache/activemq/web/DestinationFacade.class
org/apache/activemq/web/DurableSubscriberFacade.class
org/apache/activemq/web/LocalBrokerFacade.class
org/apache/activemq/web/MessageListenerServlet$Listener$1.class
org/apache/activemq/web/MessageListenerServlet$Listener.class
org/apache/activemq/web/MessageListenerServlet.class
org/apache/activemq/web/MessageQuery.class
org/apache/activemq/web/MessageServlet$Listener.class
org/apache/activemq/web/MessageServlet.class
org/apache/activemq/web/MessageServletSupport.class
org/apache/activemq/web/NoDestinationSuppliedException.class
org/apache/activemq/web/NoSuchViewStyleException.class
org/apache/activemq/web/PortfolioPublishServlet.class
org/apache/activemq/web/QueueBrowseQuery.class
org/apache/activemq/web/QueueBrowseServlet.class
org/apache/activemq/web/QueueConsumerQuery.class
org/apache/activemq/web/RemoteJMXBrokerFacade.class
org/apache/activemq/web/SessionFilter.class
org/apache/activemq/web/SessionPool.class
org/apache/activemq/web/SingletonBrokerFacade.class
org/apache/activemq/web/SpringBrokerContextListener.class
org/apache/activemq/web/WebClient.class
org/apache/activemq/web/-amq.js
org/apache/activemq/web/amq.js
org/apache/activemq/web/behaviour.js
org/apache/activemq/web/config/
org/apache/activemq/web/config/AbstractConfiguration.class
org/apache/activemq/web/config/JNDIConfiguration.class
org/apache/activemq/web/config/SystemPropertiesConfiguration.class
org/apache/activemq/web/config/WebConsoleConfiguration.class
org/apache/activemq/web/prototype.js
org/apache/activemq/web/view/
org/apache/activemq/web/view/MessageRenderer.class
org/apache/activemq/web/view/RssMessageRenderer.class
org/apache/activemq/web/view/SimpleMessageRenderer.class
org/apache/activemq/web/view/XmlMessageRenderer.class
I looked in XBeanbrokerService.java 5.3.2 code, it seems that things have
changed since 5.3.0 ....
Are these "web classes" mandatory in 5.3.2 or do I make a mistake in my
maven own compilation ?
Regards
Eric-AWL

Re: CLASSPATH 5.3.2 and 5.3.0 ?

by Gary Tullyon 2010-07-26T12:55:55+00:00.
That osgi dependency was inadvertently added in 5.3.2 but it has been
resolved for 5.4 such that osgi is again optional. see:
https://issues.apache.org/activemq/browse/AMQ-2574
Open Source Integration
http://fusesource.com

Re: CLASSPATH 5.3.2 and 5.3.0 ?

by Eric-AWLon 2010-07-26T13:08:11+00:00.

I don't use shutdownhook nor servicemix at all. This problem appears when my
program wants to instantiate an embedded broker.
Why don't I experiment this problem on my 5.3.2 own JUNIT tests (AMQ-2775) ?
I imagine that one of the JUnit test permits to validate an external xml
file configuration and it works ... ?
Can I add an other optional 5.3.2 jar in the classpath to avoid this
problem, waiting for the 5.4 to be official and tested.
I tried to add the web-5.3.2 jar instead of the web-5.3.0-05-fuse one, and
it doesn't resolve it.
Eric-AWL
>>

Re: CLASSPATH 5.3.2 and 5.3.0 ?

by Gary Tullyon 2010-07-26T13:44:48+00:00.
I guess I should have pointed you at
http://www.mail-archive.com/users@activemq.apache.org/msg16102.html
which is more in context.
Open Source Integration
http://fusesource.com

Re: CLASSPATH 5.3.2 and 5.3.0 ?

by Eric-AWLon 2010-07-26T14:01:43+00:00.

YES !
Thank you.
Eric-AWL
>>>>