有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何修复mockserver上的SocketTimout执行

我想用mockserver来模拟请求和响应。为此,我使用了mockserverdocker图像。 下面是docker compose文件示例,其中使用mockserver

mockServer:
  image: mockserver/mockserver
  container_name: mockhttpserver
  ports:
    - 1080:1080

现在,为了增加期望值。我正在使用以下mockserver java客户端

<dependency>
  <groupId>org.mock-server</groupId>
  <artifactId>mockserver-client-java</artifactId>
  <version>5.11.2</version>
</dependency>

下面是我创建mockserverclient并添加期望值的java代码。 但当我运行这段代码时,它会给我一个SockedTimeout异常。 我不知道这有什么问题。当我telnet到mylocalhost时,Mockserver作为一个容器运行。Org1080然后它成功地返回connected,但从eclipse抛出异常

MockServerClient client = new MockServerClient("mylocalhost.org", 1080);
        client.upsert(
                Expectation.when(HttpRequest.request("/login")
                .withMethod("get"))
                .thenRespond(HttpResponse.response().withStatusCode(200)));
        client.close();

例外情况:

8:11:18.768 [MockServer-MockServerClient-eventLoop0] DEBUG io.netty.util.Recycler - -Dio.netty.recycler.linkCapacity: 16
08:11:18.768 [MockServer-MockServerClient-eventLoop0] DEBUG io.netty.util.Recycler - -Dio.netty.recycler.ratio: 8
Exception in thread "main" org.mockserver.client.SocketCommunicationException: Response was not received from MockServer after 20000 milliseconds, to wait longer please use "mockserver.maxSocketTimeout" system property or ConfigurationProperties.maxSocketTimeout(long milliseconds)
    at org.mockserver.client.NettyHttpClient.sendRequest(NettyHttpClient.java:172)
    at org.mockserver.client.MockServerClient.sendRequest(MockServerClient.java:211)
    at org.mockserver.client.MockServerClient.sendRequest(MockServerClient.java:244)
    at org.mockserver.client.MockServerClient.upsert(MockServerClient.java:1109)

但是,当我调用rest api来添加期望值时,它是有效的

curl-v-X PUT“http://mylocalhost.org:1080/mockserver/expectation"


共 (0) 个答案