Spring 弹簧反应器项目的反应流背压

Spring 弹簧反应器项目的反应流背压,spring,project-reactor,Spring,Project Reactor,我有研究和阅读他们的文件不是很容易理解。 我试图实现以下功能: 我正在使用SpringReactor项目和eventBus。我的事件总线正在将事件发送到模块A 模块A应该接收事件并插入到将保存唯一值的热流中。每250毫秒流应提取所有值并对其进行计算。。等等 例如: eventBus正在投掷编号为1,2,3,2,3,2的事件 流应该获取并保持唯一值->1,2,3 250毫秒后,流应打印数字和空值 有人知道如何开始吗?我尝试了这些例子,但没有什么真正有效的,我想我不明白的东西。有人举个例子吗 Tnx

我有研究和阅读他们的文件不是很容易理解。 我试图实现以下功能:

我正在使用SpringReactor项目和eventBus。我的事件总线正在将事件发送到模块A

模块A应该接收事件并插入到将保存唯一值的热流中。每250毫秒流应提取所有值并对其进行计算。。等等

例如: eventBus正在投掷编号为1,2,3,2,3,2的事件

流应该获取并保持唯一值->1,2,3 250毫秒后,流应打印数字和空值

有人知道如何开始吗?我尝试了这些例子,但没有什么真正有效的,我想我不明白的东西。有人举个例子吗

Tnx

编辑:

在尝试执行下一步操作时,我总是遇到异常:

        Stream<List<Integer>> s = Streams.wrap(p).buffer(1, TimeUnit.SECONDS);

        s.consume(i -> System.out.println(Thread.currentThread() + " data=" + i));

        for (int i = 0; i < 10000; i++) {
            p.onNext(i);
        }
java.lang.IllegalStateException: The environment has not been initialized yet
    at reactor.Environment.get(Environment.java:156) ~[reactor-core-2.0.7.RELEASE.jar:?]
    at reactor.Environment.timer(Environment.java:184) ~[reactor-core-2.0.7.RELEASE.jar:?]
    at reactor.rx.Stream.getTimer(Stream.java:3052) ~[reactor-stream-2.0.7.RELEASE.jar:?]
    at reactor.rx.Stream.buffer(Stream.java:2246) ~[reactor-stream-2.0.7.RELEASE.jar:?]
    at com.ta.ng.server.controllers.user.UserController.getUsersByOrgId(UserController.java:70) ~[classes/:?]
正如你所看到的,如果不通过这个问题,我就无法继续尝试


顺便说一句:只有当我使用
buffer(1,TimeUnit.SECONDS)
时才会发生这种情况,例如,如果我使用
buffer(50)
,它就会工作。。虽然这不是最终的解决方案,但这只是一个开始

再次阅读doc之后,我错过了以下内容:

static {
        Environment.initialize();
    }

这就解决了问题。Tnx

在再次阅读doc之后,我错过了以下内容:

static {
        Environment.initialize();
    }
这就解决了问题。Tnx