该文档显示了通常带有 lambda 的 appender 或 tailer 的用法,如下所示:
appender.writeDocument(wireOut -> wireOut.write("log").marshallable(m ->
m.write("mkey").text(mkey)
.write("timestamp").dateTime(now)
.write("msg").text(data)));
对于tailer II 使用:
int count = 0;
while (read from tailer ) {
wire.read("log").marshallable(m -> {
String mkey = m.read("mkey").text();
LocalDateTime ts = m.read("timestamp").dateTime();
String bmsg = m.read("msg").text();
//... do more stuff, like updating counters
count++;
}
}
在阅读过程中,我想做一些更新计数器之类的事情,但这在 lambda 中是不可能的(需要“有效最终”的值/对象)。
- 在没有 lambda 的情况下使用 API 有什么好的做法?
- 关于如何做到这一点的任何其他想法?(目前我使用 AtomicInteger 对象)