2017-11-07 19 views
1

Tomcat 8.5.9 버전을 사용하여 Spring Boot로 개발 된 프로젝트를 진행 중입니다.Tomcat에서 로컬로 503 오류를 생성 할 수 있습니까?

이 응용 프로그램은 JAX RS에서 RESTfull 웹 서비스를 제공합니다. 생산성이 높은 환경에서 때로는 오류가 발생합니다. 503 서비스를 사용할 수 없습니다., 로컬 모의를 사용하기 때문에 복제 할 수 없습니다.

로컬로 오류를 재현하는 방법이 있습니까? 톰캣을 잠시 보류 상태로 두는 것이 잠깐 동안 불가능한가?

+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

당신은 자바를 사용 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))); 

히트 로컬 호스트 :/conf의 8089 엔드 포인트에 충돌 할 때