Rx java 与ReplaySubject有关的问题

Rx java 与ReplaySubject有关的问题,rx-java,Rx Java,不确定我是否以正确的方式使用了此功能。我有许多线程正在向ReplaySubject添加项。我想批量写入数据库。在主线程上,我有如下代码: while ((x < y) ) { //Still some items to process if (errorOccured == true) { replaySubject.onCompleted(); } //Process 100 messages at a time replaySu

不确定我是否以正确的方式使用了此功能。我有许多线程正在向ReplaySubject添加项。我想批量写入数据库。在主线程上,我有如下代码:

while ((x < y) ) {  //Still some items to process
    if (errorOccured == true) {
        replaySubject.onCompleted();
    }   

    //Process 100 messages at a time
    replaySubject.buffer(100).subscribe(list -> dbHandle.setBatch(list));   
} 

主题在其
onXXX
方法上不是线程安全的,您必须使用
来序列化
,并提供生成的
主题
以及通过它订阅。RxJava 1不再受支持,因此下面是2.x中仍然适用的文档:
异常是什么?你什么时候打电话给下一个?您执行此循环多少次?
*at rx.subjects.ReplaySubject$ReplayUnboundedBuffer.drain(ReplaySubject.java:642)
at rx.subjects.ReplaySubject$ReplayProducer.request(ReplaySubject.java:1268)
at rx.Subscriber.setProducer(Subscriber.java:211)
at rx.subjects.ReplaySubject$ReplayState.call(ReplaySubject.java:384)
at rx.subjects.ReplaySubject$ReplayState.call(ReplaySubject.java:360)
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
at rx.Observable.subscribe(Observable.java:10352)
at rx.Observable.subscribe(Observable.java:10319)
at rx.Observable.subscribe(Observable.java:10159)
at com.model.JobStateAndStatsManager.areTheThreadsDone(JobStateAndStatsManager.java:54)