PrimeFaces アプリケーションで、これまで見たことのない非常に奇妙なエラーが発生しました。
タイプの StateHolder を復元できませんでしたorg.primefaces.component.resetinput.ResetInputActionListener
(引数のないコンストラクターがありませんか?)
クラスorg.primefaces.component.resetinput.ResetInputActionListener
には実際には引数のないコンストラクターはありませんが、以前は問題ではありませんでした...そうでなければ、primefacesアプリは機能しません...
そのエラーの実際の原因とその修正方法は何ですか?
WebSphere 7でPrimeFaces 3.5とMyFaces 2.0.7を使用しています。
javax.faces.FacesException: java.lang.RuntimeException: Could not restore StateHolder of type org.primefaces.component.resetinput.ResetInputActionListener (missing no-args constructor?)
at org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.wrap(ExceptionHandlerImpl.java:241)
at org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:156)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:191)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1663)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1597)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)
at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
at de.datev.commons.web.filter.CharsetEncodingFilter.doFilter(CharsetEncodingFilter.java:54)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:908)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:934)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:864)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
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:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1604)
Caused by: java.lang.RuntimeException: Could not restore StateHolder of type org.primefaces.component.resetinput.ResetInputActionListener (missing no-args constructor?)
at javax.faces.component.UIComponentBase.restoreAttachedState(UIComponentBase.java:1603)
at javax.faces.component._DeltaList.restoreState(_DeltaList.java:251)
at javax.faces.component.UIComponentBase.restoreAttachedState(UIComponentBase.java:1616)
at javax.faces.component.UIComponentBase.restoreState(UIComponentBase.java:1730)
at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1386)
at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1429)
at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1429)
at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1429)
at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1429)
at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1429)
at javax.faces.component.UIViewRoot.processRestoreState(UIViewRoot.java:736)
at org.apache.myfaces.application.StateManagerImpl.restoreView(StateManagerImpl.java:129)
at org.apache.myfaces.shared_impl.view.ViewDeclarationLanguageBase.restoreView(ViewDeclarationLanguageBase.java:106)
at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.restoreView(FaceletViewDeclarationLanguage.java:1464)
at org.apache.myfaces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:279)
at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:123)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)
... 32 more
Caused by: java.lang.InstantiationException: org.primefaces.component.resetinput.ResetInputActionListener
at java.lang.J9VMInternals.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1345)
at javax.faces.component.UIComponentBase.restoreAttachedState(UIComponentBase.java:1599)
... 48 more