camel and blueprint
ariekenb Sep 26, 2010 7:57 AMI am experimenting with camel support for OSGi blueprint in FUSE ESB 4.3.0-fuse-01-00. I am having the following issues, and am wondering if camel blueprint support is intended to work in this version of FUSE ESB.
1. I added camel-blueprint to the featuresBoot line in etc/org.apache.karaf.features.cfg. After doing this I get several exceptions in the servicemix.log related to jmx (pasted below).
Bundle 118 in my container is mvn:org.apache.aries.blueprint/org.apache.aries.blueprint/0.1-incubating. This bundle is being loaded because the camel-blueprint feature includes it.
I wonder if this is happening because a different version of org.apache.aires.blueprint (0.1-r96470) is already being loaded by startup.properties?
2. I tried a simple test of creating a bean named Producer that has a ProducerTemplate injected by @EndpointInject:
@EndpointInject(ref = "testEndpoint")
private ProducerTemplate testEndpoint = null;
I initialize this bean using blueprint and create a camel context using blueprint (see below). The problem is the testEndpoint is never being injected by the @EndpointInject annotation. testEndpoint remains null in the code so if I try to do testEndpoint.sendBody it throws a NullPointerException.
This same thing works perfectly with Spring DM. Is this supposed to work with blueprint?
)
at org.apache.karaf.management.MBeanRegistrer.registerMBeans(MBeanRegistrer.java:56)
at org.apache.karaf.management.MBeanRegistrer.registerMBeanServer(MBeanRegistrer.java:40)
... 26 more
06:45:13,400 | ERROR | JMX OSGi Agent | jmx | ? ? | 31 - org.apache.aries.jmx - 0.1.0.r964701 | MBean is already registered
javax.management.InstanceAlreadyExistsException: osgi.compendium:service=cm,version=1.3
at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:453)[:1.6.0_21]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1484)[:1.6.0_21]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:963)[:1.6.0_21]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917)[:1.6.0_21]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312)[:1.6.0_21]
at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)[:1.6.0_21]
at org.apache.aries.jmx.agent.JMXAgentImpl.registerMBeans(JMXAgentImpl.java:129)[31:org.apache.aries.jmx:0.1.0.r964701]
at org.apache.aries.jmx.agent.JMXAgentContext.registerMBeans(JMXAgentContext.java:58)[31:org.apache.aries.jmx:0.1.0.r964701]
at org.apache.aries.jmx.MBeanServiceTracker$1.run(MBeanServiceTracker.java:61)[31:org.apache.aries.jmx:0.1.0.r964701]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_21]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_21]
at java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_21]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_21]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_21]
at java.lang.Thread.run(Thread.java:619)[:1.6.0_21]
06:45:13,403 | ERROR | JMX OSGi Agent | jmx | ? ? | 31 - org.apache.aries.jmx - 0.1.0.r964701 | MBean is already registered
javax.management.InstanceAlreadyExistsException: osgi.core:service=permissionadmin,version=1.2
at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:453)[:1.6.0_21]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1484)[:1.6.0_21]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:963)[:1.6.0_21]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917)[:1.6.0_21]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312)[:1.6.0_21]
at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)[:1.6.0_21]
at org.apache.aries.jmx.agent.JMXAgentImpl.registerMBeans(JMXAgentImpl.java:129)[31:org.apache.aries.jmx:0.1.0.r964701]
at org.apache.aries.jmx.agent.JMXAgentContext.registerMBeans(JMXAgentContext.java:58)[31:org.apache.aries.jmx:0.1.0.r964701]
at org.apache.aries.jmx.MBeanServiceTracker$1.run(MBeanServiceTracker.java:61)[31:org.apache.aries.jmx:0.1.0.r964701]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_21]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_21]
at java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_21]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_21]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_21]
at java.lang.Thread.run(Thread.java:619)[:1.6.0_21]
06:45:13,415 | ERROR | rint Extender: 2 | BlueprintContainerImpl | container.BlueprintContainerImpl 342 | 118 - org.apache.aries.blueprint - 0.1.0.incubating | Unable to start blueprint
container for bundle org.apache.karaf.management
org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to intialize bean connectorFactory
at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:582)[118:org.apache.aries.blueprint:0.1.0.incubating]
at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:693)[118:org.apache.aries.blueprint:0.1.0.incubating]
at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)[118:org.apache.aries.blueprint:0.1.0.incubating]
at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:219)[118:org.apache.aries.blueprint:0.1.0.incubating]
at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:147)[118:org.apache.aries.blueprint:0.1.0.incubating]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:624)[118:org.apache.aries.blueprint:0.1.0.incubating]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:315)[118:org.apache.aries.blueprint:0.1.0.incubating]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:213)[118:org.apache.aries.blueprint:0.1.0.incubating]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_21]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_21]
at java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_21]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)[:1.6.0_21]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)[:1.6.0_21]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_21]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_21]
at java.lang.Thread.run(Thread.java:619)[:1.6.0_21]
Caused by: javax.management.InstanceAlreadyExistsException: connector:name=rmi
at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:453)[:1.6.0_21]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1484)[:1.6.0_21]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:963)[:1.6.0_21]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917)[:1.6.0_21]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312)[:1.6.0_21]
at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)[:1.6.0_21]
at org.apache.karaf.management.ConnectorServerFactory.init(ConnectorServerFactory.java:94)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_21]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_21]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_21]
at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_21]
at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:230)[118:org.apache.aries.blueprint:0.1.0.incubating]
at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:803)[118:org.apache.aries.blueprint:0.1.0.incubating]
at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:580)[118:org.apache.aries.blueprint:0.1.0.incubating]
... 15 more