[richfaces-issues] [JBoss JIRA] Closed: (RF-6998) restoreView: java.lang.ClassNotFoundException: boolean

Mikhail Vitenkov (JIRA) jira-events at lists.jboss.org
Tue May 5 09:40:46 EDT 2009


     [ https://jira.jboss.org/jira/browse/RF-6998?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mikhail Vitenkov closed RF-6998.
--------------------------------

    Assignee: Nick Belaevski  (was: Tsikhon Kuprevich)


Works fine with 3.3.1-snapshot.

> restoreView: java.lang.ClassNotFoundException: boolean
> ------------------------------------------------------
>
>                 Key: RF-6998
>                 URL: https://jira.jboss.org/jira/browse/RF-6998
>             Project: RichFaces
>          Issue Type: Bug
>          Components: core
>         Environment: Jboss 5.0.1GA,  Richfaces3.3.0, JSF ri 1.2.12, Tomahawk 1.1.8, Trinidad 1.2.11
>            Reporter: Dave Chen
>            Assignee: Nick Belaevski
>             Fix For: 3.3.1
>
>   Original Estimate: 1 day
>  Remaining Estimate: 1 day
>
> Moving to JBoss 5.0.1 with jsf ri 1.2.12 from 4.0.5GA(myfaces1.1).  we got the following exception when restoreView:
> java.lang.ClassNotFoundException: boolean
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>         at java.lang.Class.forName0(Native Method)
>         at java.lang.Class.forName(Class.java:242)
>         at org.ajax4jsf.application.AjaxStateManager$1.resolveClass(AjaxStateManager.java:337)
>         at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1544)
>         at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
>         at java.io.ObjectInputStream.readClass(ObjectInputStream.java:1433)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1288)
>         at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
>         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
>         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
>         at java.util.ArrayList.readObject(ArrayList.java:591)
>         at sun.reflect.GeneratedMethodAccessor797.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
>         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
>         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>         at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
>         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
>         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
>         at java.util.ArrayList.readObject(ArrayList.java:591)
>         at sun.reflect.GeneratedMethodAccessor797.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
>         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
>         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>         at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
>         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
>         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
>         at java.util.HashMap.readObject(HashMap.java:1067)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
>         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
>         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>         at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
>         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
>         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
>         at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
>         at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
>         at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
>         at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
>         at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
>         at org.ajax4jsf.application.AjaxStateManager.handleRestoreState(AjaxStateManager.java:341)
>         at org.ajax4jsf.application.AjaxStateManager.restoreView(AjaxStateManager.java:407)
>         at org.apache.myfaces.trinidadinternal.application.StateManagerImpl.restoreView(StateManagerImpl.java:511)
>         at com.sun.faces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:311)
>         at javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:204)
>         at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:272)
>         at org.ajax4jsf.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:107)
>         at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:175)
>         at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
>         at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:103)
>         at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
> The exception occured in AjaxStateManager.java
> -------------------------------------------------------------------
> 	private static final Object handleRestoreState(FacesContext context, Object state) {
> 		if (ContextInitParameters.isSerializeServerState(context)) {
> 			ObjectInputStream ois = null;
> 	        try {
> 	        	ois = new ObjectInputStream(new ByteArrayInputStream((byte[]) state)) {
> 	        		@Override
> 	        		protected Class<?> resolveClass(ObjectStreamClass desc)
> 	        				throws IOException, ClassNotFoundException {
> 	        	        return Class.forName(desc.getName(), true, 
> 	        	                Thread.currentThread().getContextClassLoader());
> 	        		}
> 	        	};
> 	        	return ois.readObject();
> 	        } catch (Exception e) {
> 	            throw new FacesException(e);
> 	        } finally {
> 	            if (ois != null) {
> 	                try {
> 	                    ois.close();
> 	                } catch (IOException ignored) { }
> 	            }
> 	        }
> 		} else {
> 			return state;
> 		}
> 	}
> From the debug: ObjectStreamClass is 
>     boolean: static final long serialVersionUID = 0L;
> before the exception occured.
> I could not figure out where the type "boolean" came from.   Data can be serialized, but it can not be deserialized back.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the richfaces-issues mailing list