myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shane Petroff <sh...@mayet.ca>
Subject Re: PARTIAL_STATE_SAVING
Date Wed, 07 Dec 2011 18:44:06 GMT
On 12/7/2011 9:50 AM, Matt Benson wrote:
> If you can possibly boil this down to a standalone example it would be
> much more likely that someone could determine what the problem is.

Sure, but the process of converting from 1.1/JSP to 2.1/Facelets is 
large but fairly mundane: Value/MethodBinding -> Value/MethodException 
plus lots of syntactic changes on the UI and some config changes; it is 
necessarily a 'shotgun refactoring'.

The pages in question currently work with partial state saving, so I'm 
having a hard time imagining how full state saving could be worse. I was 
just hoping someone else had done the same. The fact that this works for 
partial and fails for full suggests a config problem, because everything 
used to be full state saving.


> StateManagerImpl does not set the viewRoot on the FacesContext before calling #restoreState()
on the
> viewRoot.

The ViewRoot is set, the NPE comes from an instance of 
org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$CacheRenderKit#getRenderKit()

returning null. This means that FacesContextImpl has a null renderkit at 
this moment too (CacheRenderKit sets: _kit = _base.getRenderKit() just 
before the NPE)

Shane


On Wed, Dec 7, 2011 at 12:30 AM, Shane Petroff <shane@mayet.ca> wrote:
>> So, I bit the bullet and converted my app over to facelets. Now I'm having
>> problems with binding on a particular page, so I decided to try turning
>> partial state saving off with:
>>
>> <context-param>
>> <param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
>> <param-value>false</param-value>
>> </context-param>
>>
>> I can work with the login and start page, but anything after throws the NPE
>> pasted below. What could I have messed up which causes full state saving to
>> bomb? (myfaces-core-2.1.4, tomahawk20-1.1.11, trinidad-2.0.0 under JDK
>> 1.6.0_29) Thx.
>>
>> Shane
>>
>>
>> java.lang.NullPointerException
>>     at
>> javax.faces.component.UIComponentBase.getRenderer(UIComponentBase.java:1201)
>>     at
>> javax.faces.component.UIComponent$EventListenerWrapper.restoreState(UIComponent.java:1591)
>>     at
>> javax.faces.component.UIComponentBase.restoreAttachedState(UIComponentBase.java:1776)
>>     at javax.faces.component._DeltaList.restoreState(_DeltaList.java:253)
>>     at
>> javax.faces.component.UIComponentBase.restoreAttachedState(UIComponentBase.java:1776)
>>     at
>> javax.faces.component.UIComponentBase.restoreFullSystemEventListenerClassMap(UIComponentBase.java:2058)
>>     at
>> javax.faces.component.UIComponentBase.restoreState(UIComponentBase.java:1906)
>>     at
>> javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1496)
>>     at
>> javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1540)
>>     at
>> javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1540)
>>     at
>> javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1540)
>>     at
>> javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1540)
>>     at
>> javax.faces.component.UIViewRoot.processRestoreState(UIViewRoot.java:765)
>>     at
>> org.apache.myfaces.trinidadinternal.application.StateManagerImpl.restoreView(StateManagerImpl.java:701)
>>     at
>> org.apache.myfaces.shared.view.ViewDeclarationLanguageBase.restoreView(ViewDeclarationLanguageBase.java:106)
>>     at
>> org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.restoreView(FaceletViewDeclarationLanguage.java:2037)
>>     at
>> org.apache.myfaces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:300)
>>     at
>> javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:83)
>>     at
>> javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:83)
>>     at
>> org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:242)
>>     at
>> org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:127)
>>     at
>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
>>     at
>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
>>     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>     at
>> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:357)
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>     at
>> org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
>>     at
>> org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
>>     at
>> org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>     at
>> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
>>     at
>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>     at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
>>     at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
>>     at
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>     at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
>>     at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
>>     at
>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
>>     at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>     at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
>>     at
>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
>>     at
>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
>>     at
>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304)
>>     at
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>     at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>     at java.lang.Thread.run(Thread.java:662)
>>
>> --
>> Shane
>>


-- 
Shane


Mime
View raw message