我刚刚开始使用历史记录队列 - 但是我对使用哪个 API 来读取/写入队列有点困惑。具体chronicle-queue-5与 chronicle-3.5.*
我已经经历过这个link它基本上使用chronicle-queue API,但还有其他类似this它使用编年史。
下面这两个有什么区别?
Chronicle chronicle = ChronicleQueueBuilder.indexed(_location).build();
ExcerptAppender appender = chronicle.createAppender();
appender.startExcerpt();
appender.writeUTF("Hello World");
对比
ChronicleQueue queue = ChronicleQueue.singleBuilder(_location).build();
final net.openhft.chronicle.queue.ExcerptAppender appender = queue.acquireAppender();
try (DocumentContext dc = appender.writingDocument())
{
dc.wire().write("hello").text("world " );
}
ChronicleQueue 的 Javadoc 文档 和 Chronicle看起来很相似
最佳答案
他们都在向历史记录队列写入消息。我相信这一点
Chronicle chronicle = ChronicleQueueBuilder.indexed(_location).build();
ExcerptAppender appender = chronicle.createAppender();
appender.startExcerpt();
appender.writeUTF("Hello World");
现在可以像这样写入编年史队列 5
try (final ChronicleQueue queue = SingleChronicleQueueBuilder.binary("temp-dir").build()) {
final ExcerptAppender appender = queue.acquireAppender();
appender.writeText("Hello World");
}
或者,如果您想存储key
:value
数据,如下所示
try (final ChronicleQueue queue = SingleChronicleQueueBuilder.binary("temp-dir-2").build()) {
final ExcerptAppender appender = queue.acquireAppender();
try (DocumentContext dc = appender.writingDocument()) {
dc.wire().write("hello").text("world");
}
DumpQueueMain.dump("temp-dir-2");
}
你可以使用
DumpQueueMain.dump("temp-dir-2");
例如查看数据如何存储
# position: 131360, header: 2
--- !!data #binary
hello: world
关于java - Chronicle 与 Chronicle-queue 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57498047/