I want to deploy an enterprise project on Websphere.
I got the following exception.
What can be the reason?
[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)
The stacktrace suggests that you're using MyFaces and that at some point before in the code the
FacesContext.setCurrentInstance(FacesContext.getCurrentInstance())
is been invoked which would result in this kind of infinite loop.That's all I can tell based on the information provided so far. I'm not sure why the current instance of the faces context is been set with the current instance. Perhaps it's a bug in your own code, or something is wrongly configured. Verify the classpath for pollution (duplicate older versioned JARs) and verify any startup code (
Filter#init()
,ServletContextListener#contextInitialized()
, etc) if it isn't doing some weird stuff.