筛选微订阅并订阅结果时,仅允许一个订阅者出现错误

时间:2020-04-24 04:53:12

标签: micronaut

micronaut筛选过程将返回发布者 但是如果我尝试订阅发布者的结果 抛出

13:37:24.721 [nioEventLoopGroup-1-2] ERROR i.m.h.s.netty.RoutingInBoundHandler - Unexpected error occurred: Only one subscriber allowed
java.lang.IllegalStateException: Only one subscriber allowed
    at io.micronaut.core.async.processor.SingleSubscriberProcessor.subscribe(SingleSubscriberProcessor.java:55)
    at io.micronaut.http.server.netty.binders.PublisherBodyBinder.lambda$null$0(PublisherBodyBinder.java:83)
    at io.reactivex.internal.operators.single.SingleFromPublisher.subscribeActual(SingleFromPublisher.java:35)
    at io.reactivex.Single.subscribe(Single.java:3603)

坏控制器

    @Post
    public Single<Map<String, String>> test(@Body Single<Map<String, String>> input) {
        return input;
    }

好的控制者

    @Post
    public Single<Map<String, String>> test(@Body Map<String, String> input) {
        return Single.just(input);
    }

简单过滤器

    @Override
    public Publisher<MutableHttpResponse<?>> doFilter(HttpRequest<?> request, ServerFilterChain chain) {
        Publisher<MutableHttpResponse<?>>  actual = chain.proceed(request);
    Publisher<MutableHttpResponse<?>>  actual = chain.proceed(request);
    actual.subscribe(mysubscribe);
    return actual;
    }

我觉得这是一个错误。请先问这里。 谢谢

0 个答案:

没有答案