我正在开发一个项目,该项目需要从 GCP Pub/Sub 接收事件、下载文件、解析和处理文件,最后将结果发布到 Kafka 代理,但我收到SRMSG00034: Insufficient downstream requests to emit item。
在我第一次尝试发布到 Kafka 时,我使用流迭代 msgList,但我读到 Mutiny(https://quarkus.io/blog/mutiny-back-pressure/)可以控制背压,但我得到了同样的错误.
在我的场景中,我必须发布两个不同的列表,其中一个有大约 10k 条消息。我读到我可以使用@OnOverflow控制溢出配置,但我更喜欢保持默认配置,除非有必要进行一些更改。
Multi.createFrom().iterable(msgList)
.onItem().transform(item -> {
... some transformation ...
})
.onItem().invoke(emitter::send)
.subscribe().with(
item -> Uni.createFrom().voidItem(),
Throwable::printStackTrace,
() -> System.out.println("Done!")
);
你能为我指出正确的方向来解决这个问题吗?
提前致谢