Within an OSGi bundle, I have the following code.  All required bundles are
loaded & active.
Verified that the URI used here works with activemq.bat from the command
line [yes, this is under Vista].

        try {
                URI configURI = new 
URI("xbean:D:/Data/ActiveMQ/conf/activemq.xml");

                broker = BrokerFactory.createBroker(configURI);
                broker.start();
        } catch (Exception e) {
                e.printStackTrace();
                throw new Exception("failed to start MQ Broker", e);
        }


I'm getting the (caused by) exception: java.lang.ClassNotFoundException:
org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionReader.

thrown by BrokerFactory.createBroker(...).

Th named class is not in any of the libraries packaged with activemq there
is a v2.XBeanXmlBeanDefinitionReader available, but no v1.  Put all the
spring jar files I could find from <activemq.home>/lib &
<activemq.home>/lib/optional into a "library" bundle & exposed all packages
to my bundle.  Any ideas?


*****
activemq.base='D:\Data\ActiveMQ'
activemq.home='E:\Apache\apache-activemq-5.2.0'
activemq.config='D:\Data\ActiveMQ\conf\activemq.xml'

config uri='xbean:D:/Data/ActiveMQ/conf/activemq.xml'

Sep 10, 2009 3:49:53 PM
org.springframework.context.support.AbstractApplicationContext
prepareRefresh
INFO: Refreshing
org.apache.xbean.spring.context.resourcexmlapplicationcont...@1479feb:
display name
[org.apache.xbean.spring.context.resourcexmlapplicationcont...@1479feb];
startup date [Thu Sep 10 15:49:53 CDT 2009]; root of context hierarchy
failed to start MQ Broker
java.lang.IllegalStateException: Could not find valid implementation for:
1.2.8
        at
org.apache.xbean.spring.context.impl.XBeanHelper.createBeanDefinitionReader(XBeanHelper.java:48)
        at
org.apache.xbean.spring.context.ResourceXmlApplicationContext.loadBeanDefinitions(ResourceXmlApplicationContext.java:94)
        at
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
        at
org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:423)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:353)
        at
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64)
        at
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(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 com.levade.cq.cbus.activeMQ.CBus.activate(CBus.java:88)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at
org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:206)
        at
org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:140)
        at
org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:330)
        at
org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:560)
        at
org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:182)
        at
org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:393)
        at
org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:176)
        at
org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:786)
        at
org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:753)
        at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:88)
        at
org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:70)
Caused by: java.lang.ClassNotFoundException:
org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionReader
        at
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:489)
        at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:405)
        at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:393)
        at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at
org.apache.xbean.spring.context.impl.XBeanHelper.createBeanDefinitionReader(XBeanHelper.java:44)
        ... 26 more

-- 
View this message in context: 
http://www.nabble.com/RFH%3A-Problem-w--BrokerFactory-in-Equinox-OSGi-tp25392287p25392287.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to