1. 程式人生 > >java.io.NotSerializableException 問題解決

java.io.NotSerializableException 問題解決

Caused by: java.io.NotSerializableException: com.am.common.db.SystemData
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
    at java.util.ArrayList.writeObject(ArrayList.java:570)
    at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
    at weblogic.rmi.extensions.server.CBVOutputStream.writeObject(CBVOutputStream.java:80)
    at weblogic.rmi.internal.CBVWrapper.copy(CBVWrapper.java:49)
    ... 48 more

分析問題:

com.am.common.db.SystemData 

public class SystemData {
    /** int型引數 */
    private int intParam;
    /** long型引數 */
    private long longParam;

     ...........

}

錯誤原因:

放在session的類(物件)沒有進行序列化。

解決: 

public class SystemData implements Serializable {
    /** int型引數 */
    private int intParam;
    /** long型引數 */
    private long longParam;

     ...........

}