2010-02-18 3 views

답변

3

이것은 톰캣과 관련이 없으며 단지 Sun Java Servlet API specification을 준수합니다. 그러나 서블릿이 을 사용하지 않고SingleThreadModel 인터페이스를 사용하도록 구현하면이 문제를 해결할 수 있습니다.

단일 인스턴스를 사용하면 응용 프로그램 전체가 번잡 한 환경에서 모든 요청에 ​​대해 새 인스턴스를 만드는 오버 헤드가 없다는 장점이 있습니다. 단점은? 아무도 떠오르지 않는다. 그것은 완벽하게 이해가됩니다.

+0

서버의 "극도로 무거운"부하는 어떻게됩니까? 너무 많은 요청으로 인해 수렁에 빠지면 여러 인스턴스를 갖는 것이 더 좋을까요? – Kiril

+0

아무 문제 없습니다. Java는 다중 스레드입니다. 동일한 인스턴스는 여러 스레드에서 동시에 사용할 수 있습니다. – BalusC

+1

... 쓰레드 세이프 코드를 직접 작성하는 한); 요청/세션 범위 데이터를 인스턴스 변수로 할당하지 마십시오. 또한이 답변을 참조하십시오 : http://stackoverflow.com/questions/2183974/difference-each-instance-of-servlet-and-each-thread-of-servlet-in-servlets/2184147#2184147 – BalusC