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

Reply via email to