You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Werner Punz <we...@gmail.com> on 2010/12/09 20:23:16 UTC

Re: java.io.InvalidObjectException: enum constant attributes does not exist in class javax.faces.component.UIComponent$PropertyKeys

Hi sorry for jumping in here so late, but does the problem also occur in 
a non gae environment? And which myfaces version do you use?

I assume both errors are related to GAE.




Werner


Am 24.10.10 20:14, schrieb ken keller:
> Yesterday evening I noticed java.io.InvalidObjectException stopped being
> thrown. I don't know why but I hope it is related to switching from eclipse
> to intellij&  not due to gae. (I also learned facelets is built into jsf2 so
> a separate jar isn't required.)
>
> I have two new problems which only happen on live gae--not dev gae:
>
> 1) I'm testing jsf-basics.zip on
> http://www.coreservlets.com/JSF-Tutorial/jsf2/code/.
> * open bank-lookup.jsf
> * fill in form
> * click [Show Current Balance]
> * the correct jsf page is displayed
> * click chrome's Back
> * javax.faces.application.ViewExpiredException is thrown (whether using
> client or server state saving):
>
> org.apache.myfaces.shared_impl.util.StateUtils reconstruct: View State
> cannot be reconstructed
> javax.faces.FacesException:
> javax.faces.application.ViewExpiredException
>          at
> org.apache.myfaces.shared_impl.util.StateUtils.decrypt(StateUtils.java:
> 490)
>          at
> org.apache.myfaces.shared_impl.util.StateUtils.reconstruct(StateUtils.java:
> 378)
>          at
> org.apache.myfaces.renderkit.html.HtmlResponseStateManager.getSavedState(Ht
> mlResponseStateManager.java:
> 213)
>          at
> org.apache.myfaces.renderkit.html.HtmlResponseStateManager.getState(HtmlRes
> ponseStateManager.java:
> 160)
>          at
> org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.res
> toreView
>
> (DefaultFaceletsStateManagementStrategy.java:
> 140)
>          at
> org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreView(JspState
> ManagerImpl.java:
> 388)
>          at
> org.apache.myfaces.shared_impl.view.ViewDeclarationLanguageBase.restoreView
> (ViewDeclarationLanguageBase.java:
> 106)
>          at
> org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.restoreView
> (FaceletViewDeclarationLanguage.java:
> 1277)
> ....
>
> This doesn't happen if I submit the form with errors, fix them,&  click
> [Show Current Balance] button:
> * open bank-lookup.jsf
> * click [Show Current Balance] button
> * validation errors are shown (post back)
> * correct errors
> * click [Show Current Balance] button
> * click Back button
>
> 2) A simple use of<f:ajax>  doesn't update:
>
> <h:selectOneMenu id="menu" value="#{bankingBean.customerId}">
>      <f:ajax event="change" execute="@this" render="register"/>
>      <f:selectItems value="#{bankingBean.customerIds}"/>
> </h:selectOneMenu>
> <h:outputText id="register" value="#{bankingBean.customerId}"/>
>
>
> On Thu, Oct 21, 2010 at 9:32 PM, ken keller<kl...@gmail.com>  wrote:
>
>> I'm a JSF2/myfaces rookie. I have it working w/ Eclipse Helios&  gae
>> Eclipse plugin. When I deploy it&  visit my test page, a blank page is
>> displayed&  the log entry is appended to this message. It appears to be a
>> session deserialization problem. Thx. for your help.
>>
>>
>> javax.servlet.ServletException: java.lang.RuntimeException: java.io.InvalidObjectException: enum constant attributes does not exist in class javax.faces.component.UIComponent$PropertyKeys
>> 	at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:240)
>> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>> 	at org.mortbay.jetty.Server.handle(Server.java:326)
>> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>> 	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
>> 	at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76)
>> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>> 	at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:135)
>> 	at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:261)
>> 	at com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:8486)
>> 	at com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:8484)
>> 	at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.java:24)
>> 	at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:418)
>> 	at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:572)
>> 	at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:448)
>> 	at com.google.tracing.TraceContext.runInContext(TraceContext.java:688)
>> 	at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:326)
>> 	at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:318)
>> 	at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:446)
>> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>> 	at java.lang.Thread.run(Thread.java:636)
>> Caused by: java.lang.RuntimeException: java.io.InvalidObjectException: enum constant attributes does not exist in class javax.faces.component.UIComponent$PropertyKeys
>> 	at com.google.apphosting.runtime.jetty.SessionManager.deserialize(SessionManager.java:413)
>> 	at com.google.apphosting.runtime.jetty.SessionManager.createSessionFromEntity(SessionManager.java:376)
>> 	at com.google.apphosting.runtime.jetty.SessionManager.loadSession(SessionManager.java:314)
>> 	at com.google.apphosting.runtime.jetty.SessionManager.getSession(SessionManager.java:284)
>> 	at org.mortbay.jetty.servlet.AbstractSessionManager.getHttpSession(AbstractSessionManager.java:237)
>> 	at org.mortbay.jetty.servlet.SessionHandler.setRequestedId(SessionHandler.java:246)
>> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:136)
>> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>> 	at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:238)
>> 	... 21 more
>> Caused by: java.io.InvalidObjectException: enum constant attributes does not exist in class javax.faces.component.UIComponent$PropertyKeys
>> 	at java.io.ObjectInputStream.readEnum(ObjectInputStream.java:1721)
>> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1343)
>> 	at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1684)
>> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1340)
>> 	at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1684)
>> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1340)
>> 	at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1684)
>> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1340)
>> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
>> 	at java.util.HashMap.readObject(HashMap.java:1047)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> 	at java.lang.reflect.Method.invoke(Method.java:616)
>> 	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:991)
>> 	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1865)
>> 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)
>> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
>> 	at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1684)
>> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1340)
>> 	at java.io.ObjectInputStream.skipCustomData(ObjectInputStream.java:1928)
>> 	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1890)
>> 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)
>> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
>> 	at java.io.ObjectInputStream.skipCustomData(ObjectInputStream.java:1928)
>> 	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1890)
>> 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)
>> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
>> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
>> 	at java.util.HashMap.readObject(HashMap.java:1047)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> 	at java.lang.reflect.Method.invoke(Method.java:616)
>> 	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:991)
>> 	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1865)
>> 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)
>> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
>> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
>> 	at com.google.apphosting.runtime.jetty.SessionManager.deserialize(SessionManager.java:411)
>> 	... 30 more
>> Caused by: java.lang.IllegalArgumentException: No enum const class javax.faces.component.UIComponent$PropertyKeys.attributes
>> 	at java.lang.Enum.valueOf(Enum.java:214)
>> 	at java.io.ObjectInputStream.readEnum(ObjectInputStream.java:1719)
>> 	... 69 more
>>
>>
>