[ 
https://issues.apache.org/jira/browse/CAMEL-24839?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen resolved CAMEL-24839.
---------------------------------
    Fix Version/s: 4.23.0
       Resolution: Fixed

> camel-file: a file endpoint whose directory is an existing regular file 
> starts and stays silent; fail with a message (and flag it in camel validate)
> ----------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-24839
>                 URL: https://issues.apache.org/jira/browse/CAMEL-24839
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-file, camel-jbang
>            Reporter: Claus Ibsen
>            Priority: Major
>             Fix For: 4.23.0
>
>
> A route that names a file where the file component expects a directory starts 
> without a word and never delivers anything:
> {code:yaml}
> - route:
>     from:
>       uri: "file:order.json?noop=true"
>       steps:
>         - log: "READ ${header.CamelFileName}"
> {code}
> {{Started route1 (file://order.json)}} and then silence. The same with 
> {{pollEnrich}} on {{file://.//order.json}}: the body comes back null after 
> the timeout. {{order.json}} exists next to the route as a regular file, so 
> the consumer polls a "directory" that is a file and finds no entries.
> Two improvements:
> # At startup (or on the first poll), when the configured directory exists and 
> is a regular file, fail with a message that says what to write: "order.json 
> is a file, not a directory: to read one file use file:.?fileName=order.json 
> (or poll it with pollEnrich)". Today the check in 
> {{FileConsumer.pollDirectory}} only logs at DEBUG that the directory does not 
> exist or is not a directory, and {{directoryMustExist}} is off by default.
> # {{camel validate yaml}} sees the project directory, so it can flag a file: 
> endpoint (in from:, to:, poll: or pollEnrich) whose directory part is an 
> existing regular file, with the same hint.
> Found in the round-2 local-model benchmark on the camel-jbang-examples ladder 
> (json-transform): the model wanted to read order.json next to the route, 
> wrote the file name as the endpoint path, and got no output and no message 
> for two attempts. A person new to the file component writes exactly this.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to