camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bhuvan Gupta <bhuva...@gmail.com>
Subject Fwd: Camel processing single file twice in 'file' endpoint
Date Tue, 02 Jan 2018 05:02:10 GMT
Hello nice people,

We are using camel 2.17 with java 1.7 in our sample project and we defined
our route as:

from("file:stageDummy")
    .threads(1)
    .process(myProcess);

   We first add 1000 file in stageDummy folder, then we run the code and we
get exception as below


org.apache.camel.component.file.GenericFileOperationFailedException: Cannot
rename file: GenericFile[newFile319] to: GenericFile[.camel/newFile319]
at org.apache.camel.component.file.strategy.GenericFileProcessS
trategySupport.renameFile(GenericFileProcessStrategySupport.java:115)
at org.apache.camel.component.file.strategy.GenericFileRenamePr
ocessStrategy.commit(GenericFileRenameProcessStrategy.java:88)
at org.apache.camel.component.file.GenericFileOnCompletion.proc
essStrategyCommit(GenericFileOnCompletion.java:127)
at org.apache.camel.component.file.GenericFileOnCompletion.onCo
mpletion(GenericFileOnCompletion.java:83)
at org.apache.camel.component.file.GenericFileOnCompletion.onCo
mplete(GenericFileOnCompletion.java:57)
at org.apache.camel.util.UnitOfWorkHelper.doneSynchronizations(
UnitOfWorkHelper.java:104)
at org.apache.camel.impl.DefaultUnitOfWork.done(DefaultUnitOfWork.java:229)
at org.apache.camel.util.UnitOfWorkHelper.doneUow(UnitOfWorkHelper.java:65)
at org.apache.camel.processor.CamelInternalProcessor$UnitOfWork
ProcessorAdvice.after(CamelInternalProcessor.java:654)
at org.apache.camel.processor.CamelInternalProcessor$UnitOfWork
ProcessorAdvice.after(CamelInternalProcessor.java:609)
at org.apache.camel.processor.CamelInternalProcessor$InternalCa
llback.done(CamelInternalProcessor.java:239)
at org.apache.camel.processor.CamelInternalProcessor$InternalCa
llback.done(CamelInternalProcessor.java:250)
at org.apache.camel.processor.RedeliveryErrorHandler$1.done(Red
eliveryErrorHandler.java:480)
at org.apache.camel.management.InstrumentationProcessor$1.done(
InstrumentationProcessor.java:86)
at org.apache.camel.processor.Pipeline$1.done(Pipeline.java:148)
at org.apache.camel.processor.ThreadsProcessor$ProcessCall.run(
ThreadsProcessor.java:85)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool
Executor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo
lExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

As per our understanding camel picks up the file from the mentioned
directory i.e in my case-stageDummy and processed by process-myProcess
and moves it to .camel sub folder.We noticed that if we were having more
than or around 1000 files in the folder -stageDummy ,there were some
exceptions
thrown

This exception is thrown randomly for n number of files,where n changes
everytime we execute our main.Note that we were not trying to access the
exchange
instead we kept our process simple.We could see that if there are 1000
files in our folder then the processor is getting called 1000+x times
,where x changes everytime example it gets called 1024 times,and we could
see that camel is trying to process  these x number of files again

We are attaching the Main class as well as the project zip

AND HAPPY NEW YEAR.

hoping to resolve it soon

Mime
View raw message