문제

파일을 다운로드 할 때 서버에서 더 많은 가상 메모리를 차지하는 서블릿이 있습니다. 이러한 이유로, 우리는이 서버에 동시 요청을 제한하고 싶습니다. 예를 들어 10 개의 요청 만 병렬로 처리하기를 원한다고 말합니다. 우리는 다른 요청이 대기열에서 기다리기를 원할 것입니다.

사용자 정의 스레드 풀을 만들고이 시나리오를 처리하기 위해 최대 스레드 수를 정의 하고이 서블릿에 할당하도록 구성 할 수 있습니까? 우리는 Weblogic Server 9.2를 사용하고 있습니다. 아니면이 작업을 수행하기위한 다른 더 나은 접근 방식이 있습니까? 어떤 생각도 감사합니다.

별도의 서블릿을 구성하고 X 수의 동시 요청 만 허용하도록 스레드 풀을 구성 할 수 있습니까? 다른 모든 요청은 다음 사용 가능한 서블릿을 사용하도록 대기열에 배치됩니다. 이 접근법이 타임 아웃 오류를 던지나요? 이것에 대한 자세한 내용을 공유해 주시겠습니까? 감사

http://download.oracle.com/docs/cd/e13222%5f01/wls/docs92/perform/appb%5fqueues.html

도움이 되었습니까?

해결책

이 시나리오를 처리하기 위해이 서블릿을 위해 사용자 정의 스레드 풀을 작성하고 할당 할 수 있습니까? 우리는 Weblogic Server 9.2를 사용하고 있습니다. 아니면이 작업을 수행하기위한 다른 더 나은 접근 방식이 있습니까? 어떤 생각도 감사합니다.

예, 가능합니다. 사용하는 대신 기본 자체 조정 작업 관리자 (Weblogic 9.x로 시작하여 실행 대기열은 스레드 풀의 작업 관리자로 대체됩니다.1), 당신은 특정한 작업 관리자를 만들 수 있습니다. 제약 처럼 max-threads-constraint 그리고 아마도 capacity. 그런 다음 Servlet을 사용하여 특정 작업 관리자에게 할당 할 수 있습니다. wl-dispatch-policyweblogic.xml 배포 디스크립터 파일.


1 여전히 가능합니다 ~할 수 있게 하다 Weblogic 8.1 스레드 풀 모델 및 사용 대기열을 사용합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top