RejectedExecutionException:事件执行程序通过静态WireMockServer终止,但是使用@AutoConfigureWiremock可以

如何解决RejectedExecutionException:事件执行程序通过静态WireMockServer终止,但是使用@AutoConfigureWiremock可以

Caused by: reactivefeign.client.ReactiveFeignException: java.util.concurrent.RejectedExecutionException: event executor terminated
    at reactivefeign.webclient.client.WebReactiveHttpClient.lambda$executeRequest$2(WebReactiveHttpClient.java:88)
    Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
Error has been observed at the following site(s):
    |_ checkpoint ⇢ Handler app.controller.OrderController#cancelOrderByUser() [dispatcherHandler]
Stack trace:
        at reactivefeign.webclient.client.WebReactiveHttpClient.lambda$executeRequest$2(WebReactiveHttpClient.java:88)
        at reactor.core.publisher.Mono.lambda$onErrorMap$30(Mono.java:3284)
        at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:88)
        at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onError(Operators.java:1994)
        at reactor.core.publisher.FluxContextStart$ContextStartSubscriber.onError(FluxContextStart.java:110)
        at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onError(FluxDoFinally.java:129)
        at reactor.core.publisher.FluxDoOnEach$DoOnEachSubscriber.onError(FluxDoOnEach.java:181)
        at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onError(FluxMap.java:252)
        at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onError(FluxPeekFuseable.java:894)
        at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onError(FluxPeekFuseable.java:894)
        at reactor.core.publisher.MonoNext$NextSubscriber.onError(MonoNext.java:87)
        at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onError(MonoFlatMapMany.java:197)
        at reactor.core.publisher.FluxRetryPredicate$RetryPredicateSubscriber.onError(FluxRetryPredicate.java:101)
        at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:185)
        at reactor.netty.http.client.HttpClientConnect$MonoHttpConnect$TcpClientSubscriber.onError(HttpClientConnect.java:349)
        at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:185)
        at reactor.netty.resources.PooledConnectionProvider$disposableAcquire.onError(PooledConnectionProvider.java:500)
        at reactor.netty.internal.shaded.reactor.pool.AbstractPool$Borrower.fail(AbstractPool.java:396)
        at reactor.netty.internal.shaded.reactor.pool.SimplePool.lambda$drainLoop$7(SimplePool.java:206)
        at reactor.core.publisher.LambdamonoSubscriber.doError(LambdamonoSubscriber.java:152)
        at reactor.core.publisher.LambdamonoSubscriber.onError(LambdamonoSubscriber.java:147)
        at org.springframework.security.test.context.support.ReactorContextTestExecutionListener$DelegateTestExecutionListener$SecuritySubContext.onError(ReactorContextTestExecutionListener.java:110)
        at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:185)
        at reactor.netty.resources.PooledConnectionProvider$PooledConnectionAllocator$PooledConnectionInitializer.operationComplete(PooledConnectionProvider.java:281)
        at reactor.netty.resources.PooledConnectionProvider$PooledConnectionAllocator.lambda$connectChannel$0(PooledConnectionProvider.java:224)
        at reactor.core.publisher.MonoCreate.subscribe(MonoCreate.java:57)
        at reactor.core.publisher.Mono.subscribe(Mono.java:4218)
        at reactor.core.publisher.Mono.subscribeWith(Mono.java:4329)
        at reactor.core.publisher.Mono.subscribe(Mono.java:4189)
        at reactor.core.publisher.Mono.subscribe(Mono.java:4125)
        at reactor.netty.internal.shaded.reactor.pool.SimplePool.drainLoop(SimplePool.java:201)
        at reactor.netty.internal.shaded.reactor.pool.SimplePool.drain(SimplePool.java:172)
        at reactor.netty.internal.shaded.reactor.pool.SimplePool.doAcquire(SimplePool.java:132)
        at reactor.netty.internal.shaded.reactor.pool.AbstractPool$Borrower.request(AbstractPool.java:351)
        at reactor.netty.resources.PooledConnectionProvider$disposableAcquire.onSubscribe(PooledConnectionProvider.java:511)

expected: <200> but was: <500>
org.opentest4j.AssertionFailedError: expected: <200> but was: <500>
    at org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:55)
    at org.junit.jupiter.api.AssertionUtils.failNotEqual(AssertionUtils.java:62)
    at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:150)
    at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:145)
    at org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:510)

测试失败:

    @Test
    void grantedAccesstoUndoPaymentEndpointtest() throws IOException {

        SimpleCartOutputDTO simpleCartOutputDTO = new SimpleCartOutputDTO();

        wiremockServer.stubFor(post(urlPathEqualTo("/order/cancel"))
                .willReturn(aResponse()
                        .withStatus(HttpStatus.OK.value())
                        .withHeader("Content-Type",MediaType.APPLICATION_JSON_VALUE)
                ));

        Response response = given()
                .contentType(MediaType.APPLICATION_JSON_VALUE)
                .header("x-vp-mid","1")
                .header("x-vp-msite","3")
                .post("http://localhost:" + port + "/orderpiper/order/cancel-order");

        assertEquals(HttpStatus.OK.value(),response.getStatusCode());
    }

首先,我将wiremockServer定义为类的静态成员,从端口8090开始。

然后,更改为它,开始工作:

@SpringBoottest(webEnvironment = SpringBoottest.WebEnvironment.DEFINED_PORT)
@AutoConfigurewiremock(port = 0)
...
@Autowired
private wiremockServer wiremockServer;

为什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?