Hi

Do you mean its the loop that calls the process X times. If so yeah,
that is working correctly as designed.

Calling the process() method of a org.apache.camel.Processor is
actually what the Camel routing engine does at runtime. In fact each
of these EIPs you may use in the routes, are implemented as a Camel
Processor.



On Fri, Apr 12, 2013 at 3:57 PM, Okello Nelson <[email protected]> wrote:
> Hi Claus,
>
> Going through you comment again, I notice you've mentioned that the
> "configure()" method of the "RouteBuilder" is only executed once; when the
> route is started.
>
> In my code, I'm executed this method once. The only method I'm calling
> repeatedly (for the length of the "fileTypes" array) is the "process()"
> method of the "keFileTypeNameService" bean, which I assume is still safe.
>
> Additional insight will be appreciated very much.
>
> Kind Regards,
> Okello Nelson.
>
>
> On Fri, Apr 12, 2013 at 4:52 PM, Okello Nelson <[email protected]> wrote:
>
>> Hi Claus,
>>
>> Thanks a lot for the insight. My objective was to create a content based
>> router using information stored in an external file. I inject the
>> information into an array field using Spring, and so far the route appears
>> to be working.
>>
>> But your explanation does give me something to think about, and I guess I
>> have to test my code further. I'll do so and post back my findings.
>>
>> Once again, thanks.
>>
>> Kind Regards,
>> Okello Nelson.
>>
>>
>> On Fri, Apr 12, 2013 at 11:28 AM, Claus Ibsen <[email protected]>wrote:
>>
>>> Hi
>>>
>>> The code in the configure() method of a RouteBuilder is only executed
>>> once, when Camel startup and build the route from what you defined in
>>> the configure method.
>>>
>>> So at runtime you need to use languages
>>> http://camel.apache.org/languages
>>>
>>> Or a java bean / camel processor / create your own predicate / etc. to
>>> have this evaluation work.
>>>
>>>
>>> On Thu, Apr 11, 2013 at 3:17 PM, Okello Nelson <[email protected]>
>>> wrote:
>>> > Hi guys,
>>> >
>>> > I have the following route DSL:
>>> >
>>> > from("file:" + autoLoadBaseDir + "?move=.classified")
>>> >                 .loop(fileTypes.length)
>>> >                     .choice()
>>> >
>>> >
>>> .when(header("CamelFileName").contains(fileTypes[Integer.valueOf("${CamelLoopIndex}")]))
>>> >                             .to("file:" + classesBaseDir + "/" +
>>> > fileTypes[Integer.valueOf("${CamelLoopIndex}")]);
>>> >
>>> > I'm trying to use the loop index with an array to create a content based
>>> > router. However, the "${CamelLoopIndex"} seems like its not being
>>> resolved.
>>> > Is there something that I'm doing wrong? Thanks in advance.
>>> >
>>> > Kind Regards,
>>> > Okello Nelson.
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> -----------------
>>> Red Hat, Inc.
>>> FuseSource is now part of Red Hat
>>> Email: [email protected]
>>> Web: http://fusesource.com
>>> Twitter: davsclaus
>>> Blog: http://davsclaus.com
>>> Author of Camel in Action: http://www.manning.com/ibsen
>>>
>>
>>
>>
>> --
>> Kind Regards,
>> Okello Nelson
>> +254 722 137 826
>> [email protected]
>>
>
>
>
> --
> Kind Regards,
> Okello Nelson
> +254 722 137 826
> [email protected]



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
FuseSource is now part of Red Hat
Email: [email protected]
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen

Reply via email to