We have a JSF app with Trinidad and Facelets and we are using jspx views.
With Jetty when we do logout and redirect to login page we can then login again 
with no problems. But with WAS 6.1 the login after the logout causes this:

java.lang.NullPointerException at 
org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl._getInternalView(ViewHandlerImpl.java:411)
 at 
org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:216)
 at 
org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:81)
 at 
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95) 
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70) at 
javax.faces.webapp.FacesServlet.service(FacesServlet.java:139) at 
com.profitsoftware.ui.CustomFacesServlet.service(CustomFacesServlet.java:44) at 
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1068)
 at 
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1009)
 at 
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
 at 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:250)
 at 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:207)
 at 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:161)
 at 
org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
 at 
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
 at 
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
 at 
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:301)
 at 
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
 at 
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
 at 
com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
 at 
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:771)
 at 
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:679)
 at 
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:539)
 at 
com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
 at 
com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
 at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744) 
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1455) 
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:115) 
at 
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454)
 at 
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:383)
 at 
com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
 at 
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
 at 
com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
 at 
com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
 at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) at 
com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195) at 
com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743) 
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873) at 
com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473) cause: 
java.lang.NullPointerException at 
org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl._getInternalView(ViewHandlerImpl.java:411)
 at 
org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:216)
 at 
org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:81)
 at 
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95) 
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70) at 
javax.faces.webapp.FacesServlet.service(FacesServlet.java:139) at 
com.profitsoftware.ui.CustomFacesServlet.service(CustomFacesServlet.java:44) at 
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1068)
 at 
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1009)
 at 
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
 at 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:250)
 at 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:207)
 at 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:161)
 at 
org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
 at 
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
 at 
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
 at 
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:301)
 at 
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
 at 
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
 at 
com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
 at 
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:771)
 at 
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:679)
 at 
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:539)
 at 
com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
 at 
com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
 at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744) 
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1455) 
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:115) 
at 
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454)
 at 
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:383)
 at 
com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
 at 
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
 at 
com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
 at 
com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
 at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) at 
com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195) at 
com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743) 
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873) at 
com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)

I think this is because WAS creates new session when we redirect to login page. 
So we should use <jsp:directive.page session=false /> ? Or am I way out with 
this? But when I tried to add session directive to the logout page it seems to 
have no effect... All ideas and/or hints are appreciated.

S

P.S. I remote debugged Was and the view is null in RestoreViewExecutor.

Reply via email to