要减小文件的大小,可以减少blockSize
队列的使用:
try (final SingleChronicleQueue queue = SingleChronicleQueueBuilder.binary(tmpDir.newFolder()).
blockSize(4096).
build()) {
您可以将邮箱名称存储为每个事件的一部分:
try (final DocumentContext documentContext =
queue.acquireAppender().writingDocument()) {
documentContext.wire().getValueOut().
text("user@mailbox").writeText(email);
}
最后,如果你真的想禁用循环行为,你可以为队列提供一个永不前进的时钟:
final AtomicLong fixedClock = new AtomicLong(System.currentTimeMillis());
try (final SingleChronicleQueue queue = SingleChronicleQueueBuilder.binary(tmpDir.newFolder()).
timeProvider(fixedClock::get).
blockSize(4096).
build()) {
请注意,此操作模式不是受支持的用例。
队列的内部机制需要目录列表文件,因此没有它就无法使用队列。
确保在更改任何这些配置参数时执行测试。