我們都知道,在Web層中,只有一個給定Servlet的實例存在服務多個請求的可能性。這可能會導致實例變量中的線程問題。將EJB作爲實例變量注入servlet是否安全?
我的問題是,使用@EJB註釋將EJB作爲實例變量注入servlet是否安全?
假設EJB的同一個實例將同時服務多個請求,我的初始本能是否定的。這似乎也是一些其他程序員的直覺:Don't inject to servlets
但是,我已經跳到了錯誤的結論。顯然,注入到servlet中的是代理,實際上容器是否爲每個請求提供了不同的實例並維護線程安全?因爲這個論壇會建議:Do inject to servlets
似乎有很多矛盾的意見。哪個是對的???
這個答案在目前爲止是正確的,但並沒有解決OP的線程安全問題。我相信推薦設計的答案應該是正確的。 – 2010-05-05 20:28:59
我想用@Inject(CDI,JEE 6)注入的EJB將會同樣安全,不是嗎? – marcus 2012-11-22 17:00:15