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

Claus Ibsen updated AMQ-4155:
-----------------------------

    Issue Type: Improvement  (was: Bug)
       Summary: Can't start Blueprint broker in Apache Karaf without having 
Spring JARs  (was: Can't start Blueprint broker in Apache Karaf)

This is not a bug. Currently ActiveMQ is spring dependency when you use the 
xbean (eg the xml config file).

There is plans to work on making spring fully optional, so ppl can slice and 
dice AMQ as they wish.
                
> Can't start Blueprint broker in Apache Karaf without having Spring JARs
> -----------------------------------------------------------------------
>
>                 Key: AMQ-4155
>                 URL: https://issues.apache.org/jira/browse/AMQ-4155
>             Project: ActiveMQ
>          Issue Type: Improvement
>          Components: Broker
>    Affects Versions: 5.8.0
>         Environment: Apache Karaf 2.3.0
>            Reporter: Victor Antonovich
>
> ActiveMQ 5.8-SNAPSHOT (compiled from trunk) is unable to start blueprint 
> broker:
> {code}
> karaf@root> features:addurl 
> mvn:org.apache.activemq/activemq-karaf/5.8-SNAPSHOT/xml/features
> karaf@root> features:install activemq activemq-blueprint
> karaf@root> activemq:create-broker -t blueprint
> Creating file: @|green 
> /usr/java/apache-karaf-2.3.0/deploy/localhost-broker.xml|
> Default ActiveMQ Broker (localhost) configuration file created at: 
> /usr/java/apache-karaf-2.3.0/deploy/localhost-broker.xml
> Please review the configuration and modify to suite your needs.  
> 0
> karaf@root> la | grep localhost-broker
> [ 105] [Active     ] [Failure     ] [   80] localhost-broker.xml (0.0.0)
> {code}
> Blueprint component doesn't start due to the {{NoClassDefFoundError}}:
> {code}
> 2012-11-02 16:26:24,702 | ERROR | rint Extender: 3 | BlueprintContainerImpl   
>         | container.BlueprintContainerImpl  375 | 7 - 
> org.apache.aries.blueprint.core - 1.0.1 | Unable to start blueprint container 
> for bundle localhost-broker.xml
> org.osgi.service.blueprint.container.ComponentDefinitionException: Error when 
> instanciating bean .component-2 of class class 
> org.apache.activemq.xbean.XBeanBrokerService
>       at 
> org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:333)[7:org.apache.aries.blueprint.core:1.0.1]
>       at 
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:806)[7:org.apache.aries.blueprint.core:1.0.1]
>       at 
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)[7:org.apache.aries.blueprint.core:1.0.1]
>       at 
> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[7:org.apache.aries.blueprint.core:1.0.1]
>       at 
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_37]
>       at java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_37]
>       at 
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[7:org.apache.aries.blueprint.core:1.0.1]
>       at 
> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)[7:org.apache.aries.blueprint.core:1.0.1]
>       at 
> org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)[7:org.apache.aries.blueprint.core:1.0.1]
>       at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:646)[7:org.apache.aries.blueprint.core:1.0.1]
>       at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:353)[7:org.apache.aries.blueprint.core:1.0.1]
>       at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:252)[7:org.apache.aries.blueprint.core:1.0.1]
>       at 
> org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)[7:org.apache.aries.blueprint.core:1.0.1]
>       at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)[:1.6.0_37]
>       at 
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_37]
>       at java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_37]
>       at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)[:1.6.0_37]
>       at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)[:1.6.0_37]
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_37]
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_37]
>       at java.lang.Thread.run(Thread.java:662)[:1.6.0_37]
> Caused by: java.lang.NoClassDefFoundError: 
> org/springframework/beans/BeansException
>       at 
> org.apache.activemq.xbean.XBeanBrokerService.<init>(XBeanBrokerService.java:47)
>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
> Method)[:1.6.0_37]
>       at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)[:1.6.0_37]
>       at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)[:1.6.0_37]
>       at 
> java.lang.reflect.Constructor.newInstance(Constructor.java:513)[:1.6.0_37]
>       at 
> org.apache.aries.blueprint.utils.ReflectionUtils.newInstance(ReflectionUtils.java:329)
>       at 
> org.apache.aries.blueprint.container.BeanRecipe.newInstance(BeanRecipe.java:962)
>       at 
> org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:331)
>       ... 20 more
> Caused by: java.lang.ClassNotFoundException: 
> org.springframework.beans.BeansException not found by 
> org.apache.activemq.activemq-core [99]
>       at 
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1460)
>       at 
> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
>       at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:247)[:1.6.0_37]
>       ... 28 more
> {code}
> This problem can be solved by installing {{activemq-spring}} feature, but it 
> seems to be overkill to have full Spring stack to run Blueprint ActiveMQ 
> broker.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to