Have you read the API for OverlappingFileLockException? It is pretty clear about when it would be thrown. I don't know what com.fasterxml.uuid.ext.FileBasedTimestampSynchronizer is, but my guess is it opens a FileChannel on one or both of the files you pass in. And then you never send whatever signal is needed to close those channels and then try to make new ones. You should never leave the channels open.