How do you achieve this when using spring dsl to create a camelcontext? <camelContext lazyLoadTypeConverters="true" id="camelContext" xmlns="http://camel.apache.org/schema/spring"> </camelContext>
Is there a way to inject a SimpleRegistry when creating a CamelContext in spring DSL? What is the namespace for that? Regards, -----Original Message----- From: Willem jiang [mailto:willem.ji...@gmail.com] Sent: Wednesday, November 13, 2013 1:27 AM To: users@camel.apache.org Subject: Re: bean Registry Hi , You need to use the SimpleRegistry to hold the reference of HelloBean and pass it to the DefaultCamelContext just like this SimpleRegistry registry = new SimpleRegistry(); registry.put(“HelloBean”, new HelloBean); CamelContext context = new DefaultCamelContext(registry); -- Willem Jiang Red Hat, Inc. Web: http://www.redhat.com Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) (English) http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese) Twitter: willemjiang Weibo: 姜宁willem On Wednesday, November 13, 2013 at 1:24 PM, Manoranjitham G wrote: > Hi, > > I am trying to invoke a method in a bean but it is showing the error > message *No bean could be found in the registry for: HelloBean* > > > here is my beanclass: > public class *HelloBean* { > public String hello(){ > > return "name=Tom"; > } > > } > > camel class: > > import org.apache.camel.CamelContext; > import org.apache.camel.builder.RouteBuilder; > import org.apache.camel.impl.DefaultCamelContext; > import org.apache.camel.impl.SimpleRegistry; > import org.apache.camel.util.jndi.JndiContext; > > public class CamelScenario_2 > { > > public static void main(String args[]) { CamelContext context=new > DefaultCamelContext(); > > try > { > context.addRoutes(new RouteBuilder() { public void configure() { > System.out.println("---------------"); > from("direct:start").beanRef("HelloBean") > > .process(new Processor() { > > > @Override > public void process(Exchange exchange) throws Exception { String name > = exchange.getIn().getBody(String.class); > log.info (http://log.info)("-------------->Initial name is " + > exchange.getIn().getBody(String.class)); > HelloBean hello = new HelloBean(); > String answer = hello.hello(); > exchange.getOut().setBody(answer); > System.out.println("The name is " + > exchange.getOut().getBody(String.class)); > > } > }).to("file://test"); > > } > > }); > } > catch(Exception exception) > { > exception.printStackTrace(); > } > > try > { > context.start(); > while(true) > { > > } > } > catch(Exception exception1) > { > > exception1.printStackTrace(); > } > } > } > > > > Error Message: > 10:35:13.893 [main] INFO o.a.camel.impl.DefaultCamelContext - Apache > Camel > 2.11.1 (CamelContext: camel-1) uptime 0.481 seconds > 10:35:13.893 [main] INFO o.a.camel.impl.DefaultCamelContext - Apache > Camel > 2.11.1 (CamelContext: camel-1) is shutdown in 0.010 seconds > org.apache.camel.FailedToCreateRouteException: Failed to create route > route1 > at: >>> Bean[ref:HelloBean] <<< in route: > Route(route1)[[From[direct:start]] > -> [Bean[ref:HelloBean], ... because of No bean could be found in the > registry for: HelloBean > at > org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java: > 883) > at > org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java: > 176) > at > org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelConte > xt.java:751) > at > org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(Defaul > tCamelContext.java:1845) > at > org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelCon > text.java:1625) > at > org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext. > java:1500) at > org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61) > at > org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.ja > va:1468) > at > com.polaris.mh.camel.poc.scenario_2.CamelScenario_2.main(CamelScenario > _2.java:71) Caused by: org.apache.camel.NoSuchBeanException: *No bean > could be found in the registry for: HelloBean* at > org.apache.camel.component.bean.RegistryBean.getBean(RegistryBean.java > :68) > at > org.apache.camel.model.BeanDefinition.createProcessor(BeanDefinition.j > ava:196) > at > org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefi > nition.java:479) > at > org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefiniti > on.java:197) > at > org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java: > 880) > ... 8 more > > > Please help me resolve this . > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/bean-Registry-tp5743143.html > Sent from the Camel - Users mailing list archive at Nabble.com > (http://Nabble.com). ************************************************************************* This e-mail may contain confidential or privileged information. If you are not the intended recipient, please notify the sender immediately and then delete it. TIAA-CREF *************************************************************************