Hi Stephan, try setting `readLockDeleteOrphanLockFiles` on the file endpoint. Also you might want to use an idempotent repository and a shared resource to isolate the consumers -- for instance a database table.
zoran On Mon, Mar 13, 2017 at 3:47 PM, Stephan Burkard <sburk...@gmail.com> wrote: > Hi Camel riders > > I have a quite simple polling file consumer that runs fine on 2 instances. > > from(fileEndpointUri) > .routeId(routeId) > .log("[FILEREADER " + routeId + "], file: ${in.header.CamelFileName}") > .setBody(method(bomProcessor, "removeBomIfPresent")) > .to(jmsEndpointUri); > > > The fileUri options are: > - initialDelay=[random-range] > - delay=[configurable] > - antFilterCaseSensitive=false > - antInclude=*.xml > - preMove=processing > - delete=true > - moveFailed=../error > > I generate a random start delay to avoid both consumers running at the same > time. However sometimes they overlap and want to process the same file. > > In this case I see normal processing in the logfile of one instance and an > error in the log of the other instance. So it works perfectly. With one > small flaw: the marker files of Camel (whatever.camelLock) are not deleted. > That makes the operation guys nervous. > > Can I do something so that these marker files are deleted? Is this kind of > a misconfiguration of my file endpoint? > > Thanks a lot > Stephan -- Zoran Regvart