Strange just using the http endpoint works fine.
jpcook wrote: > > 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-tp25609495p25679452.html Sent from the Camel - Users mailing list archive at Nabble.com.