[
https://issues.apache.org/jira/browse/CAMEL-3789?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen reassigned CAMEL-3789:
----------------------------------
Assignee: Claus Ibsen
> org.apache.camel.component.file.strategy.MarkerFileExclusiveReadLockStrategy
> is not thread-safe
> -----------------------------------------------------------------------------------------------
>
> Key: CAMEL-3789
> URL: https://issues.apache.org/jira/browse/CAMEL-3789
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 2.6.0
> Reporter: Maria Iracheta
> Assignee: Claus Ibsen
> Attachments: FileOperations.java.patch,
> GenericFileDeleteProcessStrategy.java.patch,
> GenericFileRenameProcessStrategy.java.patch,
> MarkerFileExclusiveReadLockStrategy.java.patch,
> MarkerFileExclusiveReadLockStrategyTest.java
>
>
> MarkerFileExclusiveReadLockStrategy is not thread-safe. When I run a File
> endpoint with more than one thread the MarkerFileExclusiveReadLockStrategy
> only deletes the last file to start being processed.
> The MarkerFileExclusiveReadLockStrategy uses global variables:
> private File lock;
> private String lockFileName;
> and gives them values on the acquireExclusiveReadLock method. When another
> thread calls the releaseExclusiveReadLock method it uses the global variables
> to delete the locked file. That means that if another thread came and called
> the acquireExclusiveReadLock it would have changed the values on the global
> variables.
> If lock and lockFileName are not global variables the problem seems to
> disappear and I can a multithreaded File endpoint and not locked file is left
> undeleted.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira