Den default read lock strategy i Camel er den fra Camel 1.x (saa den
er lidt gammel).
Den skriver en .camelLock fil hvis der ikke findes en saadan fil i
forvejen.
Derfor er der bedre read lock strategier som er dokumentere her
http://camel.apache.org/file2
F.eks. fra JDK er der et FileLock API, men den er typisk JVM-wide or
kan være forskellig fra JDK/OS til JDK/OS.
Du kan bruge denne locking strategi i Camel med readLock=fileLock
Så selvom du maaske laver readLock=fileLock og laver en unit test som
hvor baade producer + consumer
koerer i samme JVM saa kan det alligevel betyde a FileLock APIet ikke
locker filen.
Der er dog en anden lock strategy som typisk er lidt bedre, i det du
kan bruge fileLock=rename.
Dvs Camel forsoger at rename filen inden den laeser den. Det er en IO
operation og typisk paa et OS
kan man ikke rename en file som er ved at blive written
Og vi har ogsaa en changed, som kikker paa om filen aendre sig over
tid etc.
Ja det er lidt som i gamle dage med FTP filer (evt dengang man havde
DONE files) osv.
PS: Jeg skriver typisk engelsk hver dag saa jeg har ikke et dansk
tastatur.
Happy riding on the Camel
--
Claus Ibsen
-----------------
FuseSource
Email:
cib...@fusesource.com
Web:
http://fusesource.com
Twitter: davsclaus, fusenews
Blog:
http://davsclaus.blogspot.com/
Author of Camel in Action:
http://www.manning.com/ibsen/