2017-11-07 21 views
1

私はTomcatのバージョン8.5.9を使ってSpring Bootで開発されたプロジェクトに取り組んでいます。Tomcatでローカルに503エラーを生成する方法はありますか?

このアプリケーションは、JAX RSでRESTfull Webサービスを提供します。 Prod環境では、ときどきエラーが発生する503サービスが利用できません、ローカルMockを使用しているため再現できません。

ローカルにエラーを再現する方法はありますか? TomCatをすぐに使用できない状態にするのはどうですか?

+0

不可503サービスを得るためには、エンドポイントをヒットしようとしたときに503を与えて、あなたの春のブートアプリケーションですか?ローカル環境で –

+0

、 – Mahmoud

答えて

1

MDNによると、HTTP 503サービスは利用できませんサーバーエラーの意味:

...レスポンスコードは、サーバーが要求を処理する準備ができていないことを示している 。

一般的な原因は次のとおりです。

メンテナンスのためダウンしているか、それが過負荷になっているサーバー。

このエラー応答を自然な形で再現するには、Tomcatを過負荷にする可能性があります。

これを行うには、Tomcatで処理できる同時要求の最大数を変更します。

あなたが埋め込まれたTomcatを使用している場合などに容易に到達可能弱い値でserver.tomcat.max-threads春のブートプロパティを設定します。あなたは私たち自身のTomcatのインストールを使用している場合、それ以外の

server.tomcat.max-threads = 1 

は、弱い値でmaxThreadsを設定しましたserver.xml設定ファイルのConnector要素で:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" 
      ... 
      maxThreads="1"/> 
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に

関連する問題