我尝试使用RxJava-File:
反应性地拖尾日志文件 File file = new File(".\\server.log");
Observable<String> newLines =
FileObservable.tailer()
.file(file)
.startPosition(file.length())
.sampleTimeMs(1000)
.chunkSize(8192)
.utf8()
.tailText();
newLines.subscribe(System.out::println);
它按预期工作。 但是一旦我尝试连接更多的操作员,我就会遇到问题。例如,改为
newLines.filter(LogfileWatcher::error).subscribe(System.out::println);
(其中error()
是一个简单的函数String -> Boolean
)我只在第一次附加到文件后才输出,而不是后续的。
使用window()
或其他几个运算符时会出现类似的问题。
我做错了什么?
答案 0 :(得分:3)
背压支持必须在 rxjava-file 中修复,并且据报告您的测试用例在Maven Central上的 rxjava-file 0.3.3开始工作。