我正在使用 primefaces 3.2,在 JSF 中使用线程时遇到问题。我无法FacesContext
从该线程获得对当前的引用。
如何在该线程中获取对该上下文的引用。
我正在使用 primefaces 3.2,在 JSF 中使用线程时遇到问题。我无法FacesContext
从该线程获得对当前的引用。
如何在该线程中获取对该上下文的引用。
当前FacesContext
存储在静态线程局部变量中。Servlet 容器使用特定线程来处理到达容器的每个请求/响应,因此,将其存储FacesContext
在线程局部变量中可确保每个请求处理生命周期只有一个实例,这就是它应该的样子。
当您尝试FacesContext
从另一个线程获取对 a 的引用时,会发生什么情况,因为它被存储为线程局部变量,并且由于您的新线程尚未初始化它:您获得了一个null
引用。
如果您想要/需要另一个新线程中的 faces 上下文,唯一可能的方法是通过FacesContextFactory
. 但是,您将需要对 a HttpServletRequest
、 aHttpServletResponse
和 a的引用来ServletContext
实例化它(我猜您将无法从单独的线程中获取对这些对象的有效引用)。