多发布者



第一次使用Multi,我做错了什么。我想使用一个SubmissionPublisher从java.util.concurrent。它实现了流。出版商接口。

final SubmissionPublisher<String> subPub1 = new SubmissionPublisher<>();
final var m1 = Multi.createFrom().publisher(subPub1);

Multi.createFrom。publisher的签名表明该参数需要实现Flow.Publisher。然而,我得到一个类型错误。

The method publisher(Publisher<T>) in the type MultiCreate is not applicable for the arguments (SubmissionPublisher<String>)

我已经尝试了两种不同的方式:

final var m1 = Multi.createFrom().publisher((java.util.concurrent.Flow.Publisher<String>) subPub1);

final var m1 = Multi.createFrom().publisher((Publisher<String>) subPub1);

但是我仍然得到错误:

The method publisher(Publisher<T>) in the type MultiCreate is not applicable for the arguments (Flow.Publisher<String>)

你知道我做错了什么吗?

也许你可以用org.reactivestreams.FlowAdapters;

var flowPublisher = new SubmissionPublisher<String>();
var multi = Multi.createFrom().publisher(FlowAdapters.toPublisher(flowPublisher));

最新更新