【发布时间】:2010-12-02 11:05:54
【问题描述】:
我是否认为这可能不是最好的主意:
private static Application app = FacesContext.getCurrentInstance()
.getApplication();
... 或任何其他对 FacesContext.getCurrentInstance() 的调用,当您无法确定当前执行线程是由于 servlet 请求引起的?
按照我的理解,FacesContext.getCurrentInstance() 通过将当前面上下文分配给线程(例如 ThreadLocal 变量)来工作。上面可能通常在像 JSF 支持 bean 或 JSF 组件类这样的类中工作,因为恰好加载类和实例化类成员(静态变量)的执行线程通常会是一个 FacesServlet 请求。但我仍然认为依靠它不是一个好主意。
同意还是不同意?想法?谢谢。
【问题讨论】:
-
绝对不是一个好主意。这里的根本问题是什么?也许我们可以提供更好的解决方案。
-
我不太确定——这不是我的代码!在构建了很多东西之后,我被分配到该项目,现在我正在修复缺陷等。如果我有时间,我会调查它并回复你。干杯。