Я пытаюсь запустить некоторые тесты junit очереди хроники с использованием аннотации TempDir, но тест не пройден, потому что очередь хроники не отпускает файлы до того, как junit очищает временный каталог, что приводит к сбою теста.
Мое временное решение - просто Thread.sleep (1000) до окончания теста, но я бы не стал этого делать. Также кажется, что это проблема только для windows.
@TempDir
File temporaryDir;
@Test
public void testCQ() throws Exception {
ChronicleQueue cq = ChronicleQueue.singleBuilder(temporaryDir.getPath())
.wireType(WireType.BINARY_LIGHT)
.blockSize(128)
.bufferCapacity(128L)
.build();
try(final DocumentContext dc = cq.acquireAppender().writingDocument()) {
final Wire wire = dc.wire();
wire.write("test").text("test");
}
cq.close();
Thread.sleep(1000)
}
"java.io.IOException: Не удалось удалить временный каталог. Следующие пути не могут быть удалены (подробности см. В исключенных исключениях):, 20191106.cq4, metadata.cq4t "
" Процесс не может получить доступ к файлу, поскольку он используется другим процессом. "