[英]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.