JSF部署错误“在javax.faces.context.FacesContext.isProcessingEvents(FacesContext.java:300)”

时间:2012-09-03 10:14:15

标签: java jsf java-ee deployment websphere

我想在Websphere上部署企业项目。

我遇到以下异常。

可能是什么原因?

[03.09.12 11:21:05:636 CEST] 0000001a webapp        E com.ibm.ws.webcontainer.webapp.WebApp notifyServletContextCreated SRVE0283E: Exception caught while initializing context: {0}
                                 java.lang.StackOverflowError
    at java.lang.ThreadLocal$ThreadLocalMap.getEntry(ThreadLocal.java:371)
    at java.lang.ThreadLocal$ThreadLocalMap.access$000(ThreadLocal.java:254)
    at java.lang.ThreadLocal.get(ThreadLocal.java:138)
    at javax.faces.context.FacesContext.isProcessingEvents(FacesContext.java:293)
    at javax.faces.context.FacesContext.isProcessingEvents(FacesContext.java:300)
    at javax.faces.context.FacesContext.isProcessingEvents(FacesContext.java:300)
    at javax.faces.context.FacesContext.isProcessingEvents(FacesContext.java:300)
    at javax.faces.context.FacesContext.isProcessingEvents(FacesContext.java:300)
    at javax.faces.context.FacesContext.isProcessingEvents(FacesContext.java:300)
    at javax.faces.context.FacesContext.isProcessingEvents(FacesContext.java:300)
    at javax.faces.context.FacesContext.isProcessingEvents(FacesContext.java:300)
    at javax.faces.context.FacesContext.isProcessingEvents(FacesContext.java:300)

1 个答案:

答案 0 :(得分:3)

你正在使用MyFaces的堆栈跟踪suggests,并且在代码之前的某个时刻调用了FacesContext.setCurrentInstance(FacesContext.getCurrentInstance()),这将导致这种无限循环。

根据目前提供的信息,我可以告诉他们。我不确定为什么使用当前实例设置了faces上下文的当前实例。也许这是您自己的代码中的错误,或者错误配置的东西。验证污染的类路径(重复的旧版本JAR)并验证任何启动代码(Filter#init()ServletContextListener#contextInitialized()等),如果它没有做一些奇怪的事情。