Can you try to use the Spring instead of Blueprint to start your camel
route?
And you should avoid to export the same package from different bundle.
BTW, where is the Activator ?
Willem
On 7/23/11 3:47 AM, rogelio_sevilla1 wrote:
Found one of my errors, i should have used the CamelContextFactory instead of
the default context. I changed my RouteFactory implementation to this:
MyRoute miruta = new MyRoute();
BundleContext bundleContext = Activator.getBundleContext();
CamelContextFactory camelContextFactory = new CamelContextFactory();
camelContextFactory.setBundleContext(bundleContext);
DefaultCamelContext defaultContext =
camelContextFactory.createContext();
defaultContext.addRoutes(miruta);
defaultContext.start();
Now i'm getting a weird exception, it seems that camel cannot find one of
the classes that is used in one of my routes. But i don't understand, the
class that camel is complaining about is included in the same bundle and the
same package where i'm getting the route from the beginning :-S , which is
also exported through the pom file. Here's the exception i'm getting:
ERROR | rint Extender: 1 | BlueprintContainerImpl | 10 -
org.apache.aries.blueprint - 0.3.1 | Unable to start blueprint container for
bundle my_routes_factory
org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to
intialize bean MyRoutesFactory
at
org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:638)[10:org.apache.aries.blueprint:0.3.1]
at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:724)[10:org.apache.aries.blueprint:0.3.1]
at
org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)[10:org.apache.aries.blueprint:0.3.1]
at
org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:219)[10:org.apache.aries.blueprint:0.3.1]
at
org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:147)[10:org.apache.aries.blueprint:0.3.1]
at
org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:640)[10:org.apache.aries.blueprint:0.3.1]
at
org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:331)[10:org.apache.aries.blueprint:0.3.1]
at
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:227)[10:org.apache.aries.blueprint:0.3.1]
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_25]
at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_25]
at java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_25]
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)[:1.6.0_25]
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)[:1.6.0_25]
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_25]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_25]
at java.lang.Thread.run(Thread.java:662)[:1.6.0_25]
Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create
route route5 at:>>> Bean[com.mycompany.my_main_route.MyPojo.class]<<< in
route: Route[[From[quartz://fetchUrl?cron=0+0/1+*+*+*+?]] -> [Bean[...
because of java.lang.ClassNotFoundException:
com.mycompany.my_main_route.MyPojo.class
at
org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:818)
at
org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:165)
at
org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:708)
at
org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1650)
at
org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1439)
at
org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1338)
at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:67)
at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:54)
at
org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1316)
at
com.my_company.my_route_factory.MyRouteFactory.init(MyRouteFactory.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)[:1.6.0_25]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_25]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_25]
at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_25]
at
org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:226)[10:org.apache.aries.blueprint:0.3.1]
at
org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:824)[10:org.apache.aries.blueprint:0.3.1]
at
org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:636)[10:org.apache.aries.blueprint:0.3.1]
... 15 more
Caused by: org.apache.camel.RuntimeCamelException:
java.lang.ClassNotFoundException: com.mycompany.my_main_route.MiPojo
at
org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1139)
at
org.apache.camel.model.BeanDefinition.createProcessor(BeanDefinition.java:164)
at
org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:433)
at
org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:181)
at
org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:815)
... 31 more
Caused by: java.lang.ClassNotFoundException:
com.flytecomm.noaa_atom_feed_consumer.AtomFeedMessageConversorBean
at
org.apache.camel.impl.DefaultClassResolver.resolveMandatoryClass(DefaultClassResolver.java:52)
at
org.apache.camel.model.BeanDefinition.createProcessor(BeanDefinition.java:162)
... 34 more
Any advice??
--
View this message in context:
http://camel.465427.n5.nabble.com/Instantiating-an-osgi-bundled-camel-route-from-another-bundle-tp4623697p4624476.html
Sent from the Camel - Users mailing list archive at Nabble.com.
--
Willem
----------------------------------
FuseSource
Web: http://www.fusesource.com
Blog: http://willemjiang.blogspot.com (English)
http://jnn.javaeye.com (Chinese)
Twitter: willemjiang
Weibo: willemjiang