私はTomcatのバージョン8.5.9を使ってSpring Bootで開発されたプロジェクトに取り組んでいます。Tomcatでローカルに503エラーを生成する方法はありますか?
このアプリケーションは、JAX RSでRESTfull Webサービスを提供します。 Prod環境では、ときどきエラーが発生する503サービスが利用できません、ローカルMockを使用しているため再現できません。
ローカルにエラーを再現する方法はありますか? TomCatをすぐに使用できない状態にするのはどうですか?
私はTomcatのバージョン8.5.9を使ってSpring Bootで開発されたプロジェクトに取り組んでいます。Tomcatでローカルに503エラーを生成する方法はありますか?
このアプリケーションは、JAX RSでRESTfull Webサービスを提供します。 Prod環境では、ときどきエラーが発生する503サービスが利用できません、ローカルMockを使用しているため再現できません。
ローカルにエラーを再現する方法はありますか? TomCatをすぐに使用できない状態にするのはどうですか?
は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"/>
あなたは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サービスを得るためには、エンドポイントをヒットしようとしたときに503を与えて、あなたの春のブートアプリケーションですか?ローカル環境で –
、 – Mahmoud