繁体   English   中英

如何在Tomcat本地生成503错误?

[英]How can I produce a 503 error locally with Tomcat?

我正在使用Spring Boot使用Tomcat 8.5.9版开发的项目。

该应用程序在JAX RS中提供RESTfull Web服务。 在Prod环境中,有时会出现错误503 Service not available ,但由于使用本地Mock,所以无法重现它。

有没有办法在本地重现错误? 像暂时不使用TomCat一样?

根据MDN ,HTTP 503服务不可用服务器错误表示:

...响应代码表示服务器尚未准备好处理请求。

常见原因有:

为维护而停机或过载的服务器。

为了自然地重现此错误响应,您可以使Tomcat重载。

为此,请更改Tomcat可处理的最大同时请求数。

如果您使用嵌入式tomcat,请将server.tomcat.max-threads Spring Boot属性设置为易于访问的弱值,例如:

server.tomcat.max-threads = 1

否则,如果您使用我们自己的Tomcat安装,请在server.xml配置文件的Connector元素中将maxThreads设置为弱值:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
           ...
           maxThreads="1"/>

您可以使用Java通过WireMock对其进行模拟。

public static WireMockServer wireMockServer = new WireMockServer(8089);
wireMockServer.start();
    final WireMock wireMock = new WireMock(8089);
    wireMock.register(WireMock.get(WireMock.urlEqualTo("/conf"))
            .willReturn(WireMock.aResponse()
                    .withStatus(503)));

点击localhost:8089 / conf以获取503服务不可用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM