Details
Description
I dumped out a stack trace from the constructor for the BridgeFacesContext and noticed that it gets
called twice for every call to the PersistentFacesServlet. I'm of the opinion we should know why we are
doing this and either (a) document it or (b) fix it so that we avoid any unnecessary object creation.
BridgeFacesContext: 1
java.lang.Exception: Stack trace
at java.lang.Thread.dumpStack()V(Unknown Source)
at com.icesoft.faces.context.BridgeFacesContext.<init>(Ljavax.faces.context.ExternalContext;)V
(BridgeFacesContext.java:31)
at com.icesoft.faces.context.FacesContextFactoryImpl.getFacesContext
(Ljava.lang.Object;Ljava.lang.Object;Ljava.lang.Object;Ljavax.faces.lifecycle.Lifecycle;)
Ljavax.faces.context.FacesContext;(FacesContextFactoryImpl.java:51)
at com.icesoft.faces.webapp.xmlhttp.PersistentFacesCommonlet.getFacesContext
(Ljava.lang.Object;Ljava.lang.Object;Ljava.lang.Object;)Ljavax.faces.context.FacesContext;
(PersistentFacesCommonlet.java:150)
at com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet.service
(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(PersistentFacesServlet.java:110)
....
BridgeFacesContext: 2
java.lang.Exception: Stack trace
at java.lang.Thread.dumpStack()V(Unknown Source)
at com.icesoft.faces.context.BridgeFacesContext.<init>(Ljavax.faces.context.ExternalContext;)V
(BridgeFacesContext.java:31)
at com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet.setupPersistentContext
(Ljavax.servlet.ServletContext;Ljavax.servlet.http.HttpServletRequest;)V(PersistentFacesServlet.java:233)
at com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet.service
(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(PersistentFacesServlet.java:143)
...
called twice for every call to the PersistentFacesServlet. I'm of the opinion we should know why we are
doing this and either (a) document it or (b) fix it so that we avoid any unnecessary object creation.
BridgeFacesContext: 1
java.lang.Exception: Stack trace
at java.lang.Thread.dumpStack()V(Unknown Source)
at com.icesoft.faces.context.BridgeFacesContext.<init>(Ljavax.faces.context.ExternalContext;)V
(BridgeFacesContext.java:31)
at com.icesoft.faces.context.FacesContextFactoryImpl.getFacesContext
(Ljava.lang.Object;Ljava.lang.Object;Ljava.lang.Object;Ljavax.faces.lifecycle.Lifecycle;)
Ljavax.faces.context.FacesContext;(FacesContextFactoryImpl.java:51)
at com.icesoft.faces.webapp.xmlhttp.PersistentFacesCommonlet.getFacesContext
(Ljava.lang.Object;Ljava.lang.Object;Ljava.lang.Object;)Ljavax.faces.context.FacesContext;
(PersistentFacesCommonlet.java:150)
at com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet.service
(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(PersistentFacesServlet.java:110)
....
BridgeFacesContext: 2
java.lang.Exception: Stack trace
at java.lang.Thread.dumpStack()V(Unknown Source)
at com.icesoft.faces.context.BridgeFacesContext.<init>(Ljavax.faces.context.ExternalContext;)V
(BridgeFacesContext.java:31)
at com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet.setupPersistentContext
(Ljavax.servlet.ServletContext;Ljavax.servlet.http.HttpServletRequest;)V(PersistentFacesServlet.java:233)
at com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet.service
(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(PersistentFacesServlet.java:143)
...
Address if necessary during code cleanup.