우리 모두는 웹 계층에서 여러 요청을 처리하는 주어진 Servlet 인스턴스가 하나만 존재할 가능성이 있음을 알고 있습니다. 이로 인해 인스턴스 변수에 스레딩 문제가 발생할 수 있습니다.EJB를 인스턴스 변수로 서블릿에 삽입하는 것이 안전합니까?
@EJB 주석을 사용하여 EJB를 인스턴스 변수로 서블릿에 삽입하는 것이 안전한가요?
EJB의 동일한 인스턴스가 동시에 여러 요청을 처리 할 것이라는 가정하에 초기 본능은 아니오입니다. 이것은 또한 다른 프로그래머의 본능이 될 것 같습니다 : Don't inject to servlets
그러나 나는 잘못된 결론으로 뛰어 들었습니다. 분명히 서블릿에 주입되는 것은 프록시이며, 컨테이너는 실제로 다른 인스턴스로 각 요청을 처리하고 스레드 안전성을 유지합니까? 이 포럼에서 제안하는대로 : Do inject to servlets
많은 의견이 일치하는 것으로 보입니다. 정확합니까?
이 답변은 가능한 한 정확하지만 OP의 스레드 안전 문제를 해결하지 못합니다. 나는 아래의 inferreddesign의 대답이 올바른 것임을 믿습니다. –
@Inject (CDI, JEE 6)를 주입 한 EJB는 안전 할 것입니다. 맞습니까? – marcus