2 Replies Latest reply on Jan 22, 2010 6:17 AM by gamba

    NullPointer- and ViewExpiredException

    gamba

      Hi,

       

      in my application I'm getting the damned ViewExpiredException. But there is no session timeout. Shortly after starting the app and clicking around the error occurs ... ok, one thing to say ... I'm starting my own thread inside a rich:progressBar ...

       

      javax.faces.application.ViewExpiredException: viewId:/pages/renderPDF.jsf - View /pages/renderPDF.jsf could not be restored.
          at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:186)
          at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
          at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:104)
          at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
          at org.jboss.portletbridge.AjaxPortletBridge.execute(AjaxPortletBridge.java:1076)
          at ...
      14:24:28,437 ERROR [STDERR] org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
          at org.jboss.portal.core.impl.portlet.state.ProducerPortletInvoker$invoke_N8654503705355129869.invokeNext(ProducerPortletInvoker$invoke_N8654503705355129869.java)
          at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
          at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
          at org.jboss.portal.core.impl.portlet.state.ProducerPortletInvoker$invoke_N8654503705355129869.invokeNext(ProducerPortletInvoker$invoke_N8654503705355129869.java)
          at org.jboss.portal.core.impl.portlet.state.ProducerPortletInvoker.invoke(ProducerPortletInvoker.java)
          at org.jboss.portal.portlet.federation.impl.FederatedPortletInvokerService.invoke(FederatedPortletInvokerService.java:145)
          at org.jboss.portal.portlet.federation.impl.FederatingPortletInvokerService.invoke(FederatingPortletInvokerService.java:149)
          at org.jboss.portal.core.model.instance.InstanceInvoker.invoke(InstanceInvoker.java:42)
          at ...
      14:24:28,437 ERROR [STDERR] org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
          at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
          at org.jboss.portal.core.impl.api.user.UserEventBridgeTriggerInterceptor.invoke(UserEventBridgeTriggerInterceptor.java:65)
          at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
          at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
          at ...
          at java.lang.Thread.run(Thread.java:595)
      14:24:28,437 ERROR [de_handelshof_pis_web_portlets_PDFPanelPortlet] The portlet threw an exception
      javax.portlet.PortletException: Error process faces request
          at javax.portlet.faces.GenericFacesPortlet.serveResource(GenericFacesPortlet.java:543)
          at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl$Invoker.doFilter(PortletContainerImpl.java:574)
          at org.jboss.portal.portlet.impl.jsr168.api.FilterChainImpl.doFilter(FilterChainImpl.java:184)
          at org.jboss.portal.portlet.impl.jsr168.api.FilterChainImpl.doFilter(FilterChainImpl.java:84)
          at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.dispatch(PortletContainerImpl.java:505)
          at ...
          at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
          at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
          at java.lang.Thread.run(Thread.java:595)
      Caused by: javax.portlet.faces.BridgeException: java.lang.NullPointerException
          at org.jboss.portletbridge.richfaces.RichFacesStrategy.finishResponse(RichFacesStrategy.java:127)
          at org.jboss.portletbridge.richfaces.RichFacesStrategy.finishResponse(RichFacesStrategy.java:217)
          at org.jboss.portletbridge.BridgeStrategyWrapper.finishResponse(BridgeStrategyWrapper.java:80)
          at org.jboss.portletbridge.AjaxPortletBridge.doFacesRequest(AjaxPortletBridge.java:820)
          at javax.portlet.faces.GenericFacesPortlet.serveResource(GenericFacesPortlet.java:541)
          ... 195 more
      Caused by: java.lang.NullPointerException
          at org.ajax4jsf.context.ViewResources.processHeadResources(ViewResources.java:401)
          at org.jboss.portletbridge.richfaces.RichFacesStrategy.finishResponse(RichFacesStrategy.java:113)
          ... 199 more
      14:24:28,453 ERROR [DefaultPortalControlPolicy] Rendering portlet window  produced an error
      javax.portlet.PortletException: Error process faces request
          at javax.portlet.faces.GenericFacesPortlet.serveResource(GenericFacesPortlet.java:543)
          at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl$Invoker.doFilter(PortletContainerImpl.java:574)
          at org.jboss.portal.portlet.impl.jsr168.api.FilterChainImpl.doFilter(FilterChainImpl.java:184)
          at org.jboss.portal.portlet.impl.jsr168.api.FilterChainImpl.doFilter(FilterChainImpl.java:84)
          at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.dispatch(PortletContainerImpl.java:505)
          at org.jboss.portal.portlet.container.ContainerPortletDispatcher.invoke(ContainerPortletDispatcher.java:42)
          at org.jboss.portal.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:82)
          at org.jboss.portal.core.aspects.portlet.TransactionInterceptor.org$jboss$portal$core$aspects$portlet$TransactionInterceptor$invokeNotSupported$aop(TransactionInterceptor.java:97)
          at org.jboss.portal.core.aspects.portlet.TransactionInterceptor$invokeNotSupported_N6922078035659651697.invokeNext(TransactionInterceptor$invokeNotSupported_N6922078035659651697.java)
          at org.jboss.aspects.tx.TxPolicy.invokeInNoTx(TxPolicy.java:66)

       

      I'm using PortletBridge 2.0.0.CR1, RichFaces 3.3.2.SR1, facelets_1.1.15 and jsf-api_1.2_13

       

      Thx,

      Holger

        • 1. Re: NullPointer- and ViewExpiredException
          stefan_tausendpfund

          Hello Holger,

           

          we also got this exception. You can get a working application by adding the 1.1 mode of view restore in your web.xml:

           

            <context-param>
              <param-name>com.sun.faces.enableRestoreView11Compatibility</param-name>
              <param-value>true</param-value>
            </context-param>
          

           

           

          regards

            Stefan

          • 2. Re: NullPointer- and ViewExpiredException
            gamba

            Stefan, thank you for the answer. Now it seems to work. But I found this documentation at IBM site ..

             

            Because JSF 1.2 is supported, a JSF 1.2 application, might create the ViewExpiredException exception under load. If your view is not found in session, you can use a compatibility mode in JSF to create a new view.  This can have adverse behaviors because it is a new view, and items that are usually in the view, such as state, are no longer be there.

             

            I wonder in what situations other errors will occur in my application?

             

            BTW: Do you know how JSF 2.0 handles this exception or this parameter?

             

            Thx,

            Holger