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;
...........
}