I tried updating an existing application to MyFaces 2.2.0 (from 2.1.11) by
simply replacing the library. When I try to deploy the app, I get a
StackOverflowError (below). Looking at the source code I'm surprised this
doesn't always happen. Several methods (setFlowHandler, getFlowHandler,
unsubscribeFromEvent, etc.) all follow the same structure where they call
getMyFacesApplicationInstance and then call same method on the instance
from that method. This seems to require an extending class to exist and
that the extending class completely overrides the methods in question
without calling the superclass method. Am I missing something here? More
importantly, I could use some help in fixing the issue independently from
any possible software changes. Thank you.

Caused By: java.lang.StackOverflowError
 at java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java:333)
 at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:988)
 at weblogic.servlet.internal.AttributesMap.get(AttributesMap.java:103)
 at
weblogic.servlet.internal.WebAppServletContext.getAttribute(WebAppServletContext.java:520)
 at
org.apache.myfaces.context.servlet.ApplicationMap.getAttribute(ApplicationMap.java:47)
 at
org.apache.myfaces.util.AbstractThreadSafeAttributeMap.get(AbstractThreadSafeAttributeMap.java:90)
 at
javax.faces.application.Application.getMyfacesApplicationInstance(Application.java:100)
 at
javax.faces.application.Application.setFlowHandler(Application.java:1245)
 at
javax.faces.application.Application.setFlowHandler(Application.java:1248)
 at
javax.faces.application.Application.setFlowHandler(Application.java:1248)

Reply via email to