Hi, So just trying a very simple example like: from("atom://http://macstrac.blogspot.com/feeds/posts/default").to("log:afterAtom");
But it returns: 2009-09-30 12:05:04,650 INFO [main] afterAtom - Exchange[BodyType:null, Body:null] No errors in the console so not sure what I'm doing wrong? Claus Ibsen-2 wrote: > > On Mon, Sep 28, 2009 at 10:05 AM, jpcook <jonathan.c...@erars.plus.com> > wrote: >> >> Thanks! >> >> One last probably silly question. What you initialise consumerTemplate as >> or >> do you extend from a particular class for this to work? >> >> We're not using Spring so can't do any injection as per another thread I >> saw. >> > > You can create a consumer template from the CamelContext > And then you can reuse it on subsequent invocations. > > If you use a bean/pojo you can just have a CamelContext parameter in > the method signature and Camel will inject the context for you. > > If you use a processor then you can get hold of the CamelContext from > the Exchange using getContext() > > public void doSomething(CamelContext context) { > if (consumerTemplate == null) { > consumerTemplate = context.createConsumerTemplate(); > } > > >> And then does the url actually contain the atom part? Looking at the wiki >> page it would indicate it should do eg) Exchange exchange = >> consumerTemplate.receive("activemq:my.queue"); >> > > Yeah you need to use the complete URL > consumerTemplate.receive("atom://and some more here"); > > > >> >> >> Claus Ibsen-2 wrote: >>> >>> On Fri, Sep 25, 2009 at 1:02 PM, jpcook <jonathan.c...@erars.plus.com> >>> wrote: >>>> >>>> thanks >>>> >>>> The atom endpoint already has consumer.delay which I think I would use. >>> >>> Yeah but the atom endpoint will then be configured with a static >>> endpoint >>> URI >>> from("atom:staticUriHere?consumer.delay=5000")... >>> >>> Where as if you use a processor/bean/ with a consumer template you can >>> do >>> >>> from("timer://foo?delay=5000").beanRef("myBean", "doSomething) >>> >>> And then in your POJO you can poll the atom endpoint using a dynamic URI >>> >>> private List<String> uris; >>> >>> public void doSomething() { >>> // loop the list of dynamic uris and get the content from it >>> // and then consume from the endpoint using consumer template >>> Exchange out = consumerTemplate.receive(uri, 1000); >>> } >>> >>> And see that link Charles mentioned. >>> >>> >>>> >>>> Is there an example of the consumerTemplate? >>>> >>>> Could I use the web-console to configure the dynamic uris or just a >>>> normal >>>> xml configuration file? >>>> >>>> About the last point, that is how I have done it in the past but just >>>> thought I'd check if there was something built into camel now. :) >>>> >>>> >>>> >>>> Claus Ibsen-2 wrote: >>>>> >>>>> Hi >>>>> >>>>> You can use a scheduler / timer to trigger a route at a certain >>>>> interval (quartz or timer) >>>>> >>>>> And then use a processor / bean with a consumerTemplate to consume >>>>> from the atom feeds. >>>>> Then you can use dynamic URIs. >>>>> >>>>> And if you want that to route in parallel you can use the JDK >>>>> concurrency API for that as well. >>>>> >>>>> Sometimes the easiest stuff is to do that using regular java in a >>>>> POJO. >>>>> Submit tasks to the JDK executor services and then afterwards route >>>>> the result to a file endpoint to store the file. >>>>> Or a "direct" endpoint so you can do additional routing. >>>>> >>>>> >>>>> >>>>> >>>>> On Fri, Sep 25, 2009 at 12:02 PM, jpcook >>>>> <jonathan.c...@erars.plus.com> >>>>> wrote: >>>>>> >>>>>> Hello, >>>>>> >>>>>> I have a requirement to pull 24 atom feeds, process them in the same >>>>>> way >>>>>> via >>>>>> xslt and then write the results to a file location which is slightly >>>>>> different for each feed. This is fairly straight forward. >>>>>> >>>>>> I was looking at the atom component as it looks almost perfect. But I >>>>>> wondered if there was a clever way I could maybe specify a list of >>>>>> urls >>>>>> to >>>>>> the component and then it could process them concurrently as I don't >>>>>> want >>>>>> to >>>>>> have to do this synchronously? A bit like when you use the splitter >>>>>> you >>>>>> can >>>>>> specify parallelProcessing() >>>>>> >>>>>> I guess another alternative would be to have a route for each feed I >>>>>> need >>>>>> to >>>>>> pull but this seemed a bit overkill as they would essentially be all >>>>>> the >>>>>> same. Also I wanted to make the atom urls and the location that the >>>>>> result >>>>>> gets written to configurable but we are not using the spring dsl xml >>>>>> configuration. As an alternative I could make these parameters >>>>>> configurable >>>>>> via my own configuration but I also wondered if I could perhaps >>>>>> control >>>>>> these parameters via JMX or even better via the web console? >>>>>> >>>>>> Any thoughts much appreciated. Thanks. >>>>>> -- >>>>>> View this message in context: >>>>>> http://www.nabble.com/Atom-Component-tp25609495p25609495.html >>>>>> Sent from the Camel - Users mailing list archive at Nabble.com. >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Claus Ibsen >>>>> Apache Camel Committer >>>>> >>>>> Open Source Integration: http://fusesource.com >>>>> Blog: http://davsclaus.blogspot.com/ >>>>> Twitter: http://twitter.com/davsclaus >>>>> >>>>> >>>> >>>> -- >>>> View this message in context: >>>> http://www.nabble.com/Atom-Component-tp25609495p25610124.html >>>> Sent from the Camel - Users mailing list archive at Nabble.com. >>>> >>>> >>> >>> >>> >>> -- >>> Claus Ibsen >>> Apache Camel Committer >>> >>> Open Source Integration: http://fusesource.com >>> Blog: http://davsclaus.blogspot.com/ >>> Twitter: http://twitter.com/davsclaus >>> >>> >> >> -- >> View this message in context: >> http://www.nabble.com/Atom-Component-tp25609495p25641681.html >> Sent from the Camel - Users mailing list archive at Nabble.com. >> >> > > > > -- > Claus Ibsen > Apache Camel Committer > > Open Source Integration: http://fusesource.com > Blog: http://davsclaus.blogspot.com/ > Twitter: http://twitter.com/davsclaus > > -- View this message in context: http://www.nabble.com/Atom-Component-tp25609495p25679021.html Sent from the Camel - Users mailing list archive at Nabble.com.