В Java 1.5 java.nio.channels.FileLock не проверял наличие уже заблокированных файлов. ссылка здесь
Фрагмент гласит:
Класс java.nio.channels.FileLock проверяет файлы, уже заблокированные другими экземплярами FileChannel.
Java SE 6 генерирует исключение OverlappingFileLockException, если приложение пытается заблокировать область, которая перекрывает область, заблокированную через другой экземпляр FileChannel. Предыдущие версии не проверяли блокировки файлов, полученные другими экземплярами FileChannel. По умолчанию метод java.nio.channels.FileChannel.lock проверяет, не пересекается ли запрошенная блокировка с регионом, удерживаемым этой виртуальной машиной Java.
Таким образом, до Java 6 монопольная блокировка файлов не работала, если у вас было несколько программ, записывающих в один и тот же файл (каждая программа пыталась получить монопольную блокировку). Как люди обошли это с Java 5 и более ранними версиями?