我们都知道,在 Web 层中,可能只存在给定 Servlet 的单个实例,它服务于多个请求。这可能会导致实例变量中的线程问题。
我的问题是,使用 @EJB 注释将 EJB 作为实例变量注入 servlet 是否安全?
我最初的直觉是不会,假设同一个 EJB 实例会同时服务多个请求。这似乎也是许多其他程序员的本能:不要注入到 servlet
但是,我是否跳到了错误的结论。很明显,注入到 servlet 的是代理,在底层,容器实际上是否使用不同的实例为每个请求提供服务并维护线程安全?正如这个论坛所建议的那样:Do inject to servlet
似乎有很多相互矛盾的意见。哪个是对的???