当前位置: 首页 > 知识库问答 >
问题:

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

司寇凯
2023-03-14

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

该应用程序在JAX RS中提供RESTfull web服务。在Prod环境中,有时我会得到一个错误503服务不可用,但我无法复制它,因为我使用本地模拟。

有没有办法在本地重现错误?比如把雄猫暂时搁置?

共有2个答案

邬英武
2023-03-14

您可以使用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服务不可用

云开诚
2023-03-14

根据MDN,HTTP 503服务不可用服务器错误意味着:

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

常见的原因是:

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

为了以自然的方式重现这个错误响应,您可以重载Tomcat。

要做到这一点,请更改Tomcat可以处理的同时请求的最大数量。

如果使用嵌入式tomcat,请设置服务器。公猫max threadsSpring Boot属性,其值很容易访问,例如:

server.tomcat.max-threads = 1

否则,如果您使用我们自己的Tomcat安装,请在服务器的连接器元素中将maxThreads设置为弱值。xml配置文件:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
           ...
           maxThreads="1"/>
 类似资料:
  • 问题内容: 我们正在尝试找到一种语法,以从日期函数的第三个参数生成DAY | WEEK | MONTH选项。 您知道在DECLARE中使用什么正确的语法,并且应该将其转换为有效的SQL。 问题答案: 以下是BigQuery标准SQL 这些都是文字,无法进行参数化 而且,您知道-动态SQL尚不可用 因此,不幸的是,以下是我今天能想到的唯一解决方案

  • 我们在应用程序中使用Hikari连接池进行数据库连接管理。我们已经将Hikari CP配置为tomcat服务器中的资源。xml。现在由于HIKARI的一些问题,我们需要从HIKARI库生成调试级日志。我尝试在conf\log4j中配置包级记录器。属性,但我无法查看HIKARI库中的日志。从tomcat服务器中用作资源的库中进行日志记录是否有任何不同的配置。xml? 下面的行添加到log4j中。co

  • 我已经在运行Windows10的本地机器上构建了一个docker映像 > 运行,和确实会生成预期的结果(没有错误) 通过运行 我将docker映像上载到私有Azure容器注册表中 我基于docker image

  • 我们在windows 10机器上从Tomcat 9.0.29升级到9.0.44,并收到503条错误消息。Tomcat托管Java应用程序。对Tomcat服务器的请求作为工作线程从单独的Apache代理服务器通过端口8010发送。我可以看到Tomcat服务正在运行,Java应用程序正在启动并运行。这可以从Tomcat服务器上的//localhost:8080/{JavaApp}进行验证。 但是,来自

  • 我是webpack的新手,我需要参与设置以生成源地图。我正在从命令行运行,该命令已成功编译。但我真的需要源地图。这是我的。 我对webpack很陌生,虽然这些文档并没有真正起到帮助,但我不确定这个问题具体是什么。

  • 我希望在我的JPA2实体上有本机和可移植的id生成,目前运行Hibernate和MySQL 当使用@generatedvalue(strategy=auto)时,hibernate默认为MySQL上的“hibernate_sequence”表,我想要标识 当@generatedvalue strategy=auto时,如何将Hibernate设置为使用标识作为mysql的默认值?