Primefaces WebSphere 8.5+中的错误;莫哈拉+;MyFaces2+;SpringWebFlow

Primefaces WebSphere 8.5+中的错误;莫哈拉+;MyFaces2+;SpringWebFlow,primefaces,websphere,myfaces,mojarra,websphere-8,Primefaces,Websphere,Myfaces,Mojarra,Websphere 8,我正在尝试在WebSphere8.5中部署一个web应用程序。该应用程序具有以下特点 莫哈拉2.1.13 第3.4.2条 SpringWebFlow 2.3.1 春季3.1.2 JDK1.6 这个应用程序在Tomcat7中运行得非常好,但是当我们尝试将它部署到WebSphere中时,我们得到了一个带有以下堆栈跟踪的NullPointerException javax.faces.component.UIComponentBase.restoreDeltaSystemEventListener

我正在尝试在WebSphere8.5中部署一个web应用程序。该应用程序具有以下特点

  • 莫哈拉2.1.13
  • 第3.4.2条
  • SpringWebFlow 2.3.1
  • 春季3.1.2
  • JDK1.6
这个应用程序在Tomcat7中运行得非常好,但是当我们尝试将它部署到WebSphere中时,我们得到了一个带有以下堆栈跟踪的
NullPointerException

javax.faces.component.UIComponentBase.restoreDeltaSystemEventListenerClassMap(UIComponentBase.java:1933)
javax.faces.component.UIComponentBase.restoreState(UIComponentBase.java:1765)
javax.faces.component.UIViewRoot.restoreState(UIViewRoot.java:1214)
javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1401)
javax.faces.component.UIViewRoot.processRestoreState(UIViewRoot.java:731)
org.springframework.faces.webflow.FlowViewStateManager.restoreComponentState(FlowViewStateManager.java:78)
org.springframework.faces.webflow.FlowViewStateManager.restoreView(FlowViewStateManager.java:203)
org.apache.myfaces.shared_impl.view.ViewDeclarationLanguageBase.restoreView(ViewDeclarationLanguageBase.java:106)
org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.restoreView(FaceletViewDeclarationLanguage.java:1438)
org.apache.myfaces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:278)
org.springframework.faces.webflow.FlowViewHandler.restoreFlowView(FlowViewHandler.java:144)
org.springframework.faces.webflow.FlowViewHandler.restoreView(FlowViewHandler.java:83)
org.springframework.faces.webflow.JsfViewFactory.getView(JsfViewFactory.java:105)
org.springframework.webflow.engine.ViewState.resume(ViewState.java:193)
org.springframework.webflow.engine.Flow.resume(Flow.java:545)
org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:258)
org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:169)
org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:183)
org.springframework.faces.webflow.JsfFlowHandlerAdapter.handle(JsfFlowHandlerAdapter.java:48)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1214)
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)
com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:125)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:92)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter.doFilter(AbstractPreAuthenticatedProcessingFilter.java:88)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89)
com.csc.fsg.pcdSecurity.filter.CASFilter.doFilter(CASFilter.java:573)
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89)
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:926)
com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1023)
com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:895)
com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:522)
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:311)
com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:87)
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1783)
我看到错误来自MyFaces2,默认情况下JSF在WebSphere8.5中的实现,因此我尝试将Mojarra 2.1.13作为共享库实现,但没有成功(我遵循了IBM文档中的步骤)

另一件奇怪的事情是,应用程序呈现了主页面,但是当它呈现主页面时,突然出现了这个错误

  • 有人知道这个错误吗
  • 皮耶罗

    要解决此问题,请在web.xml文件中添加或替换以下上下文参数,然后重新发布项目

    <context-param>
    <param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
    <param-value>false</param-value>
    </context-param>
    
    
    javax.faces.PARTIAL_STATE_保存
    假的
    
    这是因为您正在为WAS(myFaces)使用默认的JSF实现,并且您已经在mojarra中开发了它,所以您需要设置它才能使用myFaces

    萨卢多斯

    皮耶罗

    要解决此问题,请在web.xml文件中添加或替换以下上下文参数,然后重新发布项目

    <context-param>
    <param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
    <param-value>false</param-value>
    </context-param>
    
    
    javax.faces.PARTIAL_STATE_保存
    假的
    
    这是因为您正在为WAS(myFaces)使用默认的JSF实现,并且您已经在mojarra中开发了它,所以您需要设置它才能使用myFaces

    萨卢多斯

    我有:

  • JSF Mojarra 2.1.7
  • 第3.4.2条
  • SpringFramework 4.0.2.0版本
  • Spring web flow 2.3.3.1版本
  • Spring security 3.2.0.0版本
  • 我在这种模式下决定:

  • 上次更改父节点中模块的类装入器

  • 更改JSF提供程序

  • 重新启动服务器(重要!)

  • 我有:

  • JSF Mojarra 2.1.7
  • 第3.4.2条
  • SpringFramework 4.0.2.0版本
  • Spring web flow 2.3.3.1版本
  • Spring security 3.2.0.0版本
  • 我在这种模式下决定:

  • 上次更改父节点中模块的类装入器

  • 更改JSF提供程序

  • 重新启动服务器(重要!)


  • 关闭javax.faces.PARTIAL_STATE_保存可能是一个非常糟糕的主意?这可能会显著降低应用程序的性能。我们的应用程序是用Mojarra开发的,我们也支持was 8.5,它将一起工作,但为了让它工作,我们付出了很多努力。Thang,你能分享一下你为了工作所做的努力吗?谢谢关闭javax.faces.PARTIAL_STATE_保存可能是一个非常糟糕的主意?这可能会显著降低应用程序的性能。我们的应用程序是用Mojarra开发的,我们也支持was 8.5,它将一起工作,但为了让它工作,我们付出了很多努力。Thang,你能分享一下你为了工作所做的努力吗?谢谢我建议看以下内容:我建议看以下内容: