Dennis,

In your case, I think you are missing the idempotent option in the File URI.   

Best regards,
Alex soto



> On Aug 18, 2016, at 10:59 AM, Dennis Bohnstedt Hansen <d...@miracle.dk> wrote:
> 
> Hi
> 
> I’m seeing the same problem with pollEnrich, using a dynamic endpoint. I
> send a my route a filename in the message-body, and expect the file content
> as a reply:
> 
> from("direct:getFileContent")
>        .log("Filename : ${body}")
>        
> .pollEnrich().simple("file:/temp?readLock=none&noop=true&fileName=${body}").aggregationStrategy(new
> BodyOnlyAggregationStrategy()).timeout(5000)
>        .log(“FileContent: ${body}");
> 
> The first thing i experienced, was that i lost my headers, when i did not
> set an aggregation strategy, to my “BodyOnlyAggregationStrategy”, is a
> fairly started out as a fairly simple strategy, that just copied the body
> to the original exchange:
> 
> public Exchange aggregate(Exchange original, Exchange resource) {
>    if (resource != null && resource.getIn() != null) {
>        Object resourceResponse = resource.getIn().getBody();
>        if (original.getPattern().isOutCapable()) {
>            original.getOut().setBody(resourceResponse);
>        } else {
>            original.getIn().setBody(resourceResponse);
>        }
>    }
>    return original;
> }
> 
> 
> The first time i hit my route, everything works just fine, but after that,
> i start waiting for the timeout, and returns null to the
> AggregationStrategy “resource” Exchange. If i do not set a timeout i hangs
> forever…
> 
> Regards
> / Dennis Bohnstedt Hansen
>  Software designer
>  Miracle A/S - www.miracle.dk <http://www.miracleas.dk/>
>  +45 53747254
> 
> 
> On Thu, Aug 18, 2016 at 8:12 AM, Claus Ibsen <claus.ib...@gmail.com> wrote:
> 
>> Its easier to do a message transformation and set the body as a
>> java.io.File
>> 
>> <transform>
>>  <simple type="java.io.File">{{env:HOME}}/my-dir/${body}</simple>
>> </transform>
>> 
>> 
>> On Tue, Aug 16, 2016 at 8:39 PM, Alex Soto <alex.s...@envieta.com> wrote:
>>> Hello,
>>> 
>>> I am experiencing erratic results when using the Poll Enrich with a
>> static file.
>>> The file is static in the sense that it never changes, so I am setting
>> both the noop=true and the idempotent=false.
>>> Basically I need to be able to serve this same files for ever, and not
>> move it or deleted it.
>>> 
>>> My route sets the body with the file name, then it continues with:
>>> 
>>> <pollEnrich timeout="5000">
>>>   <simple>file:{{env:HOME}}/my-dir?noop=true&amp;fileName=${
>> body}&amp;idempotent=false</simple>
>>> </pollEnrich>
>>> 
>>> It works a few times, but after this is executed several times (from
>> multiple clients concurrently), the body becomes null, even though, the
>> file is still present in the directory.
>>> Am I setting the options correctly?  How can this be accomplished?
>>> 
>>> Best regards,
>>> Alex soto
>>> 
>>> 
>>> 
>> 
>> 
>> 
>> --
>> Claus Ibsen
>> -----------------
>> http://davsclaus.com @davsclaus
>> Camel in Action 2: https://www.manning.com/ibsen2
>> 

Reply via email to