美文网首页
Springcloud gateway reactor.core

Springcloud gateway reactor.core

作者: zhanbq | 来源:发表于2021-03-29 17:24 被阅读0次

    2021-03-29 17:19:39.338 DEBUG [TID: N/A] 25924 --- [undedElastic-17] reactor.core.publisher.Operators : Duplicate Subscription has been detected

    java.lang.IllegalStateException: Spec. Rule 2.12 - Subscriber.onSubscribe MUST NOT be called more than once (based on object equality)
    at reactor.core.Exceptions.duplicateOnSubscribeException(Exceptions.java:181)
    at reactor.core.publisher.Operators.reportSubscriptionSet(Operators.java:1082)
    at reactor.core.publisher.Operators.setOnce(Operators.java:1171)
    at reactor.core.publisher.FluxSubscribeOnSubscribeOnSubscriber.onSubscribe(FluxSubscribeOn.java:114) at reactor.core.publisher.Operators.reportThrowInSubscribe(Operators.java:224) at reactor.core.publisher.Flux.subscribe(Flux.java:8328) at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:199) at reactor.core.publisher.MonoFlatMapMany.subscribeOrReturn(MonoFlatMapMany.java:49) at reactor.core.publisher.FluxFromMonoOperator.subscribe(FluxFromMonoOperator.java:76) at reactor.core.publisher.FluxSubscribeOnSubscribeOnSubscriber.run(FluxSubscribeOn.java:187)
    at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)
    at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)
    at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
    at java.util.concurrent.FutureTask.run(FutureTask.java)
    at java.util.concurrent.ScheduledThreadPoolExecutorScheduledFutureTask.access201(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutorScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

    2021-03-29 17:19:39.338 DEBUG [TID: N/A] 25924 --- [undedElastic-18] reactor.core.publisher.Operators : Duplicate Subscription has been detected

    java.lang.IllegalStateException: Spec. Rule 2.12 - Subscriber.onSubscribe MUST NOT be called more than once (based on object equality)
    at reactor.core.Exceptions.duplicateOnSubscribeException(Exceptions.java:181)
    at reactor.core.publisher.Operators.reportSubscriptionSet(Operators.java:1082)
    at reactor.core.publisher.Operators.setOnce(Operators.java:1171)
    at reactor.core.publisher.FluxSubscribeOnSubscribeOnSubscriber.onSubscribe(FluxSubscribeOn.java:114) at reactor.core.publisher.Operators.reportThrowInSubscribe(Operators.java:224) at reactor.core.publisher.Flux.subscribe(Flux.java:8328) at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:199) at reactor.core.publisher.MonoFlatMapMany.subscribeOrReturn(MonoFlatMapMany.java:49) at reactor.core.publisher.FluxFromMonoOperator.subscribe(FluxFromMonoOperator.java:76) at reactor.core.publisher.FluxSubscribeOnSubscribeOnSubscriber.run(FluxSubscribeOn.java:187)
    at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)
    at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)
    at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
    at java.util.concurrent.FutureTask.run(FutureTask.java)
    at java.util.concurrent.ScheduledThreadPoolExecutorScheduledFutureTask.access201(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutorScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

    2021-03-29 17:19:39.338 DEBUG [TID: N/A] 25924 --- [undedElastic-17] reactor.core.publisher.Operators : Duplicate Subscription has been detected

    java.lang.IllegalStateException: Spec. Rule 2.12 - Subscriber.onSubscribe MUST NOT be called more than once (based on object equality)
    at reactor.core.Exceptions.duplicateOnSubscribeException(Exceptions.java:181)
    at reactor.core.publisher.Operators.reportSubscriptionSet(Operators.java:1082)
    at reactor.core.publisher.Operators.setOnce(Operators.java:1171)
    at reactor.core.publisher.FluxSubscribeOnSubscribeOnSubscriber.onSubscribe(FluxSubscribeOn.java:114) at reactor.core.publisher.Operators.reportThrowInSubscribe(Operators.java:224) at reactor.core.publisher.FluxFromMonoOperator.subscribe(FluxFromMonoOperator.java:90) at reactor.core.publisher.FluxSubscribeOnSubscribeOnSubscriber.run(FluxSubscribeOn.java:187)
    at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)
    at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)
    at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
    at java.util.concurrent.FutureTask.run(FutureTask.java)
    at java.util.concurrent.ScheduledThreadPoolExecutorScheduledFutureTask.access201(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutorScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

    2021-03-29 17:19:39.338 DEBUG [TID: N/A] 25924 --- [undedElastic-18] reactor.core.publisher.Operators : Duplicate Subscription has been detected

    java.lang.IllegalStateException: Spec. Rule 2.12 - Subscriber.onSubscribe MUST NOT be called more than once (based on object equality)
    at reactor.core.Exceptions.duplicateOnSubscribeException(Exceptions.java:181)
    at reactor.core.publisher.Operators.reportSubscriptionSet(Operators.java:1082)
    at reactor.core.publisher.Operators.setOnce(Operators.java:1171)
    at reactor.core.publisher.FluxSubscribeOnSubscribeOnSubscriber.onSubscribe(FluxSubscribeOn.java:114) at reactor.core.publisher.Operators.reportThrowInSubscribe(Operators.java:224) at reactor.core.publisher.FluxFromMonoOperator.subscribe(FluxFromMonoOperator.java:90) at reactor.core.publisher.FluxSubscribeOnSubscribeOnSubscriber.run(FluxSubscribeOn.java:187)
    at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)
    at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)
    at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
    at java.util.concurrent.FutureTask.run(FutureTask.java)
    at java.util.concurrent.ScheduledThreadPoolExecutorScheduledFutureTask.access201(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutorScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

    2021-03-29 17:19:39.339 ERROR [TID: N/A] 25924 --- [undedElastic-17] reactor.core.scheduler.Schedulers : Scheduler worker in group main failed with an uncaught exception

    reactor.core.ExceptionsErrorCallbackNotImplemented: java.lang.ClassCastException: java.lang.Object cannot be cast to com.qsc.ebao.gateway.gatewayfilter.gatewayfilterfactory.TokenVerificationGatewayFilterFactoryTokenConfig
    Caused by: java.lang.ClassCastException: java.lang.Object cannot be cast to com.qsc.ebao.gateway.gatewayfilter.gatewayfilterfactory.TokenVerificationGatewayFilterFactoryTokenConfig at com.qsc.ebao.gateway.gatewayfilter.gatewayfilterfactory.TokenVerificationGatewayFilterFactory.apply(TokenVerificationGatewayFilterFactory.java:30) at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.loadGatewayFilters(RouteDefinitionRouteLocator.java:211) at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.getFilters(RouteDefinitionRouteLocator.java:233) at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.convertToRoute(RouteDefinitionRouteLocator.java:170) at reactor.core.publisher.FluxMapMapSubscriber.onNext(FluxMap.java:100)
    at reactor.core.publisher.FluxFlatMapFlatMapMain.tryEmitScalar(FluxFlatMap.java:480) at reactor.core.publisher.FluxFlatMapFlatMapMain.onNext(FluxFlatMap.java:413)
    at reactor.core.publisher.FluxMergeSequentialMergeSequentialMain.drain(FluxMergeSequential.java:425) at reactor.core.publisher.FluxMergeSequentialMergeSequentialMain.innerComplete(FluxMergeSequential.java:321)
    at reactor.core.publisher.FluxMergeSequentialMergeSequentialInner.onComplete(FluxMergeSequential.java:576) at reactor.core.publisher.FluxMapMapSubscriber.onComplete(FluxMap.java:136)
    at reactor.core.publisher.FluxFilterFilterSubscriber.onComplete(FluxFilter.java:160) at reactor.core.publisher.FluxMapMapConditionalSubscriber.onComplete(FluxMap.java:262)
    at reactor.core.publisher.FluxFilterFilterConditionalSubscriber.onComplete(FluxFilter.java:293) at reactor.core.publisher.FluxFlatMapFlatMapMain.checkTerminated(FluxFlatMap.java:838)
    at reactor.core.publisher.FluxFlatMapFlatMapMain.drainLoop(FluxFlatMap.java:600) at reactor.core.publisher.FluxFlatMapFlatMapMain.innerComplete(FluxFlatMap.java:909)
    at reactor.core.publisher.FluxFlatMapFlatMapInner.onComplete(FluxFlatMap.java:1013) at reactor.core.publisher.OperatorsMonoSubscriber.complete(Operators.java:1765)
    at reactor.core.publisher.MonoCollectListMonoCollectListSubscriber.onComplete(MonoCollectList.java:121) at reactor.core.publisher.FluxFirstNonEmptyEmittingFirstNonEmptyEmittingSubscriber.onComplete(FluxFirstNonEmptyEmitting.java:333)
    at reactor.core.publisher.FluxSubscribeOnSubscribeOnSubscriber.onComplete(FluxSubscribeOn.java:159) at reactor.core.publisher.FluxIterableIterableSubscription.fastPath(FluxIterable.java:357)
    at reactor.core.publisher.FluxIterableIterableSubscription.request(FluxIterable.java:222) at reactor.core.publisher.FluxSubscribeOnSubscribeOnSubscriber.requestUpstream(FluxSubscribeOn.java:124)
    at reactor.core.publisher.FluxSubscribeOnSubscribeOnSubscriber.onSubscribe(FluxSubscribeOn.java:117) at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:161) at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:86) at reactor.core.publisher.Flux.subscribe(Flux.java:8325) at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:199) at reactor.core.publisher.MonoFlatMapMany.subscribeOrReturn(MonoFlatMapMany.java:49) at reactor.core.publisher.FluxFromMonoOperator.subscribe(FluxFromMonoOperator.java:76) at reactor.core.publisher.FluxSubscribeOnSubscribeOnSubscriber.run(FluxSubscribeOn.java:187)
    at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)
    at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)
    at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
    at java.util.concurrent.FutureTask.run(FutureTask.java)
    at java.util.concurrent.ScheduledThreadPoolExecutorScheduledFutureTask.access201(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutorScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

    2021-03-29 17:19:39.339 ERROR [TID: N/A] 25924 --- [undedElastic-18] reactor.core.scheduler.Schedulers : Scheduler worker in group main failed with an uncaught exception

    reactor.core.ExceptionsErrorCallbackNotImplemented: java.lang.ClassCastException: java.lang.Object cannot be cast to com.qsc.ebao.gateway.gatewayfilter.gatewayfilterfactory.TokenVerificationGatewayFilterFactoryTokenConfig
    Caused by: java.lang.ClassCastException: java.lang.Object cannot be cast to com.qsc.ebao.gateway.gatewayfilter.gatewayfilterfactory.TokenVerificationGatewayFilterFactoryTokenConfig at com.qsc.ebao.gateway.gatewayfilter.gatewayfilterfactory.TokenVerificationGatewayFilterFactory.apply(TokenVerificationGatewayFilterFactory.java:30) at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.loadGatewayFilters(RouteDefinitionRouteLocator.java:211) at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.getFilters(RouteDefinitionRouteLocator.java:233) at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.convertToRoute(RouteDefinitionRouteLocator.java:170) at reactor.core.publisher.FluxMapMapSubscriber.onNext(FluxMap.java:100)
    at reactor.core.publisher.FluxFlatMapFlatMapMain.tryEmitScalar(FluxFlatMap.java:480) at reactor.core.publisher.FluxFlatMapFlatMapMain.onNext(FluxFlatMap.java:413)
    at reactor.core.publisher.FluxMergeSequentialMergeSequentialMain.drain(FluxMergeSequential.java:425) at reactor.core.publisher.FluxMergeSequentialMergeSequentialMain.innerComplete(FluxMergeSequential.java:321)
    at reactor.core.publisher.FluxMergeSequentialMergeSequentialInner.onComplete(FluxMergeSequential.java:576) at reactor.core.publisher.FluxMapMapSubscriber.onComplete(FluxMap.java:136)
    at reactor.core.publisher.FluxFilterFilterSubscriber.onComplete(FluxFilter.java:160) at reactor.core.publisher.FluxMapMapConditionalSubscriber.onComplete(FluxMap.java:262)
    at reactor.core.publisher.FluxFilterFilterConditionalSubscriber.onComplete(FluxFilter.java:293) at reactor.core.publisher.FluxFlatMapFlatMapMain.checkTerminated(FluxFlatMap.java:838)
    at reactor.core.publisher.FluxFlatMapFlatMapMain.drainLoop(FluxFlatMap.java:600) at reactor.core.publisher.FluxFlatMapFlatMapMain.innerComplete(FluxFlatMap.java:909)
    at reactor.core.publisher.FluxFlatMapFlatMapInner.onComplete(FluxFlatMap.java:1013) at reactor.core.publisher.OperatorsMonoSubscriber.complete(Operators.java:1765)
    at reactor.core.publisher.MonoCollectListMonoCollectListSubscriber.onComplete(MonoCollectList.java:121) at reactor.core.publisher.FluxFirstNonEmptyEmittingFirstNonEmptyEmittingSubscriber.onComplete(FluxFirstNonEmptyEmitting.java:333)
    at reactor.core.publisher.FluxSubscribeOnSubscribeOnSubscriber.onComplete(FluxSubscribeOn.java:159) at reactor.core.publisher.FluxIterableIterableSubscription.fastPath(FluxIterable.java:357)
    at reactor.core.publisher.FluxIterableIterableSubscription.request(FluxIterable.java:222) at reactor.core.publisher.FluxSubscribeOnSubscribeOnSubscriber.requestUpstream(FluxSubscribeOn.java:124)
    at reactor.core.publisher.FluxSubscribeOnSubscribeOnSubscriber.onSubscribe(FluxSubscribeOn.java:117) at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:161) at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:86) at reactor.core.publisher.Flux.subscribe(Flux.java:8325) at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:199) at reactor.core.publisher.MonoFlatMapMany.subscribeOrReturn(MonoFlatMapMany.java:49) at reactor.core.publisher.FluxFromMonoOperator.subscribe(FluxFromMonoOperator.java:76) at reactor.core.publisher.FluxSubscribeOnSubscribeOnSubscriber.run(FluxSubscribeOn.java:187)
    at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)
    at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)
    at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
    at java.util.concurrent.FutureTask.run(FutureTask.java)
    at java.util.concurrent.ScheduledThreadPoolExecutorScheduledFutureTask.access201(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutorScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

    版本:
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-gateway</artifactId>
    <version>2.2.5.RELEASE</version>
    <relativePath>..</relativePath>

    问题 创建的自动filter 必须声明一个构造函数


    image.png

    因为AbstractGatewayFilterFactory 构造默认是一个Object.class的强转:


    image.png

    相关文章

      网友评论

          本文标题:Springcloud gateway reactor.core

          本文链接:https://www.haomeiwen.com/subject/abwbhltx.html