Hi

The Camel File Component has a weak spot in my mind
- it uses random direcotries and filenames out-of-the-box

What does that mean?
Well if you do not configure the endpoint carefully you end up with Camel auto 
creating some strange folder names and output names when producing files. This 
leads to confusion.
The problem is that if you have not configured a header property on the message 
then Camel will default to use message id that defaults as a UUID generated id.

So you end up with filenames stored as: ID-MACHINENAME\2443-1211718892437\1-0 
for a route you have configured as:
from("direct:report").to( "file:target/reports/report.txt");

When you would expect the file to be saved in report.txt but you end up having:
\target\reports\report.txt\ ID-MACHINENAME\2443-1211718892437\1-0

But you wanted Camel to store it in report.txt.

The problem is that the option autoCreated is default to true.
So Camel will auto create the directory path: target/reports/report.txt as a 
directory. So you have: /target/reports/report.txt/ as a directory.
The human eye would identify report.txt as a filename and not a directory but 
Camel does not. And since the end-user did not set this HEADER_FILENAME message 
property we get those dreadful unique folder and filename.


So I would like to discuss if we could change some of this in Camel 1.4?`

I propose to
============
1) remove the unique message ID for filenames, instead end users want 
out-of-the-box pattern styles unique names such as DDDDMMYYHHMMSS, NNNNNN for 
either folder and/or fileanames. NNNN = number incrementer, etc. etc.
2) and easy way to configure or set your own strategy class for computing the 
filename (instead of only the HEADER_FILENAME)
3) autoCreate should be changed to false as default option
4) FileProducer should thrown an exception if the filename has not been 
configured instead of using a UUID filename
5) new option to set the filename, and let the uri path be the folder, then its 
much easier for autocreate to only create the folder and not also the filename 
as a folder.


What are your thoughts?


Med venlig hilsen

Claus Ibsen
......................................
Silverbullet
Skovsgårdsvænget 21
8362 Hørning
Tlf. +45 2962 7576
Web: www.silverbullet.dk

Reply via email to