RxJava文件和运算符链接

时间:2015-09-18 07:28:35

标签: java-8 reactive-programming rx-java

我尝试使用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()或其他几个运算符时会出现类似的问题。

我做错了什么?

1 个答案:

答案 0 :(得分:3)

背压支持必须在 rxjava-file 中修复,并且据报告您的测试用例在Maven Central上的 rxjava-file 0.3.3开始工作。