我目前将我的对象按如下方式放在编年史队列中
ExcerptAppender appender = SingleChronicleQueueBuilder
.binary("/path_to_chronicle/")
.build()
.acquireAppender();
// Write
synchronized (appender) {
appender.writeText(object.toString());
}
考虑到“对象”的类正在扩展AbstractMarshallable并具有一些整数,多头和字符串,是否有更有效的方法将其传递给队列?我当前从队列中读取它的方式是通过调用Marshallable.fromString(text);
。我正在寻找一个简单的用例,没有太多的代码,但仍然很快。
答案 0 :(得分:1)
在写作方面,我建议您遵循
try (final DocumentContext dc = appender.writingDocument()) {
dc.wire().write("msg").object(object);
}
阅读
try (DocumentContext dc = tailer.readingDocument()) {
if (dc.isPresent()) {
Object o = dc.wire().read("msg").object();
process(o);
}
}
这可以提高效率,但是会比您拥有的更快。