jetty 9.3.8에 내장 된 jetty 서버를 구성하는 동안 Jetty HttpConnection의 열기 및 닫기를 추적하는 연결 수신기를 서버 커넥터에 추가하고 있습니다.웹 서비스 메서드가 실행 된 후 jetty Http Connection을 닫는 방법
현재 요청을 처리하는 부두 스레드 [qtp ..........]가 HttpConnection을 엽니 다. 현재 요청을 완료 한 후 부두에이 HttpConnection을 닫으라고 알리는 방법은 무엇입니까? 요청을 처리 한 후 다른 클라이언트의 청취자가 콜백에 열려있는 모든 연결을 닫는 것을 볼 수 있습니다.
요청이 끝나면 연결을 닫아야합니다. 즉, 특정 클라이언트에서 완료되었을 때입니다.
이 경우 HTTP/1.1이 사용됩니다. 방금 요청이 처리되고있는 스레드를 중단하면 HttpConnection 닫기가 예상대로 완료되는 것을 볼 수 있습니다. 하지만 부두가 다른 요청에 대해 동일한 스레드 [qtp ..........]를 할당하면 http 연결이 닫히고 http 클라이언트에서 'no http response'가 표시됩니다. 어떻게하면 스레드 간의 인터럽트 플래그 및 요청 간의 다른 데이터를 지울 수 있습니까? –
연결 및 요청 처리의 해당 부분을 망설이지 않아야합니다. 또한 서블릿 컨테이너의 모든 스레드를 중단하는 것은 Servlet 사양 (및 JEE)에서 100 % 지원되지 않으므로 문제가 발생할 수 있습니다. –
9.2.8에서 9.3.8로 업그레이드 중입니다. 이전 버전에서는 요청이 완료된 후 부두 스레드를 중단하는 데 사용합니다 (오랫동안 사용 된 하트 비트 스레드의 경우). 이로 인해 낮은 수준을 닫을 수있었습니다 Jetty Http Connections. 그러나이 출력 스레드에서 인터럽트를 제거한 후에는 시스템이 예상 된 성능을 제공하지 않습니다. 이것에 나를 도울 수있는 것이 무엇이든. –