Thanks for the reply. I have a doubt, how we can add beans such as sqsClient to registry so that I can use them in route configuration?
On Fri, Jan 17, 2014 at 3:07 PM, Siano, Stephan <stephan.si...@sap.com>wrote: > Hi, > > First of all you create a class foo.bar.impl.MyProcessor implements > Processor somewhere in your project. You can instantiate this in your > blueprint with a > <bean id="myProcessor" class="foo.bar.impl.MyProcessor"/> > > Beans like this are also available in the blueprint registry, so if you > instantiate or reference the sqsClient this way, you can use it without > explicitly instantiating a registry. > > Best regards > Stephan > > -----Original Message----- > From: Muhzin [mailto:rmuh...@gmail.com] > Sent: Freitag, 17. Januar 2014 10:25 > To: users@camel.apache.org > Subject: Re: Camel main class in osgi bundle > > Thanks for the reply. I'm trying to convert my camel configuration from > java DSL to blueprint and come across some hurdles. > > My route config looks something like > SimpleRegistry registry = new SimpleRegistry(); > registry.put("sqsClient", sqsClient); > > CamelContext context = new DefaultCamelContext(registry); > context.addRoutes(new RouteBuilder() { > @Override > public void configure() throws Exception { > from("aws-sqs:// > > sqs.ap-southeast-2.amazonaws.com/122343553/profile-data?amazonSQSClient=#sqsClient > ") > .process(new Processor() { > @Override > public void process(Exchange exchange) throws Exception > { > > String rawMessage = > exchange.getIn().getBody(String.class); > Gson gson = new GsonBuilder().create(); > Message message = gson.fromJson(rawMessage, > Message.class); > DynamoDBStorage dynamoStorage = new > DynamoDBStorage(dynamoDBClient); > > if (message.getAction().equals("createProfile")) { > User user = > dynamoStorage.getUserDetails(message.getId()); > MysqlStorage mysqlStorage = new MysqlStorage(); > mysqlStorage.insertNewUser(user); > } else { > System.out.println(message.getAction()); > } > } > }); > } > }); > > > When converting it into blueprint, > #) How can I create a custom processor like above? > #) How can I get my objects like sqsClient to blueprint? > #) How can I make objects like 'gson' shown above in my route? > #) How can I make the routing like if else shown above? > > > Is there some detailed tutorial on how to write camel-blueprint? The one i > could find was > http://camel.apache.org/using-osgi-blueprint-with-camel.htmlwhich > only cover the basics. > > > On Fri, Jan 17, 2014 at 1:10 PM, Claus Ibsen <claus.ib...@gmail.com> > wrote: > > > Hi > > > > Using a spring or blueprint xml file to bootstrap Camel is often much > > easier, as it does all the OSGi lifecycle and other pieces you > > otherwise must do yourself. > > > > If you dont want to do that, then you need to use an osgi activator to > > call some code, that creates a OsgiCamelContext and setup a bunch of > > stuff to make it run in OSGi. And as well stop and cleanup these > > services again when the bundle stops. > > > > Though much easier to just have a little > > OSGI-INF/blueprint/somenamehere.xml blueprint xml file that embeds a > > <camelContext> and you have Camel running. > > > > > > > > On Fri, Jan 17, 2014 at 4:48 AM, Muhzin <rmuh...@gmail.com> wrote: > > > Hi all, > > > I am trying to run camel application in karaf. I new to programming for > > > osgi. How can I make my camel routes run in it? Can i put it in a > normal > > > main() class and run it? > > > > > > -- > > > BR > > > Muhsin > > > > > > > > -- > > Claus Ibsen > > ----------------- > > Red Hat, Inc. > > Email: cib...@redhat.com > > Twitter: davsclaus > > Blog: http://davsclaus.com > > Author of Camel in Action: http://www.manning.com/ibsen > > Make your Camel applications look hawt, try: http://hawt.io > > > > > > -- > BR > Muhsin > -- BR Muhsin