at java.io.ObjectOutputStream.writeObject0(Unknown Source)

本文介绍了一个关于Java序列化的异常问题,即在尝试将User对象写入磁盘时遇到的NotSerializableException异常,并提供了相应的解决方案,即确保User类实现了Serializable接口。

异常信息:


严重: Disk Write of a37d014f-ebcb-4b5f-a540-cb07c3f75a7e failed: 

java.io.NotSerializableException: com.innomice.user.model.User
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at java.util.HashSet.writeObject(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at java.util.HashMap.writeObject(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteObject(Unknown Source)
at org.apache.shiro.subject.SimplePrincipalCollection.writeObject(SimplePrincipalCollection.java:274)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at java.util.HashMap.writeObject(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at org.apache.shiro.session.mgt.SimpleSession.writeObject(SimpleSession.java:461)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteObject(Unknown Source)
at net.sf.ehcache.Element.writeObject(Element.java:791)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at net.sf.ehcache.util.MemoryEfficientByteArrayOutputStream.serialize(MemoryEfficientByteArrayOutputStream.java:97)
at net.sf.ehcache.store.disk.DiskStorageFactory.serializeElement(DiskStorageFactory.java:413)
at net.sf.ehcache.store.disk.DiskStorageFactory.write(DiskStorageFactory.java:392)
at net.sf.ehcache.store.disk.DiskStorageFactory$DiskWriteTask.call(DiskStorageFactory.java:493)
at net.sf.ehcache.store.disk.DiskStorageFactory$PersistentDiskWriteTask.call(DiskStorageFactory.java:1151)
at net.sf.ehcache.store.disk.DiskStorageFactory$PersistentDiskWriteTask.call(DiskStorageFactory.java:1135)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)


解决方法:

user 对象要序列化 implements Serializable

java.io.OptionalDataException: null at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1692) ~[?:1.8.0_452] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:503) ~[?:1.8.0_452] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:461) ~[?:1.8.0_452] at java.util.HashMap.readObject(HashMap.java:1416) ~[?:1.8.0_452] at sun.reflect.GeneratedMethodAccessor46.invoke(Unknown Source) ~[?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_452] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_452] at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1184) ~[?:1.8.0_452] at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2322) ~[?:1.8.0_452] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2213) ~[?:1.8.0_452] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1669) ~[?:1.8.0_452] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:503) ~[?:1.8.0_452] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:461) ~[?:1.8.0_452] at org.apache.shiro.session.mgt.SimpleSession.readObject(SimpleSession.java:500) ~[shiro-core-1.10.1.jar!/:1.10.1] at sun.reflect.GeneratedMethodAccessor59.invoke(Unknown Source) ~[?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_452] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_452] at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1184) ~[?:1.8.0_452] at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2322) ~[?:1.8.0_452] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2213) ~[?:1.8.0_452] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1669) ~[?:1.8.0_452] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:503) ~[?:1.8.0_452] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:461) ~[?:1.8.0_452] at org.springframework.core.serializer.DefaultDeserializer.deserialize(DefaultDeserializer.java:72) ~[spring-core-5.3.30.jar!/:5.3.30] at org.springframework.core.serializer.support.DeserializingConverter.convert(DeserializingConverter.java:75) ~[spring-core-5.3.30.jar!/:5.3.30] at org.springframework.core.serializer.support.DeserializingConverter.convert(DeserializingConverter.java:37) ~[spring-core-5.3.30.jar!/:5.3.30] at org.springframework.data.redis.serializer.JdkSerializationRedisSerializer.deserialize(JdkSerializationRedisSerializer.java:82) ~[spring-data-redis-2.7.17.jar!/:2.7.17] at org.springframework.data.redis.core.AbstractOperations.deserializeValue(AbstractOperations.java:360) ~[spring-data-redis-2.7.17.jar!/:2.7.17] at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:62) ~[spring-data-redis-2.7.17.jar!/:2.7.17] at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:224) ~[spring-data-redis-2.7.17.jar!/:2.7.17] at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:191) ~[spring-data-redis-2.7.17.jar!/:2.7.17] at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) ~[spring-data-redis-2.7.17.jar!/:2.7.17] at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:54) ~[spring-data-redis-2.7.17.jar!/:2.7.17] at org.springframework.data.redis.core.DefaultBoundValueOperations.get(DefaultBoundValueOperations.java:51) ~[spring-data-redis-2.7.17.jar!/:2.7.17] 分析
最新发布
11-10
com.facebook.tigon.TigonErrorandroid.os.BadParcelableException: Parcelable encountered IOException writing serializable object (name = com.facebook.tigon.TigonErrorException) at android.os.Parcel.writeSerializable(Parcel.java:2996) at com.facebook.account.login.model.LoginFlowData.writeToParcel(Unknown Source:131) at android.os.Parcel.writeParcelable(Parcel.java:2783) at android.os.Parcel.writeValue(Parcel.java:2684) at android.os.Parcel.writeValue(Parcel.java:2561) at android.os.Parcel.writeArrayMapInternal(Parcel.java:1425) at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1843) at android.os.Bundle.writeToParcel(Bundle.java:1483)at android.os.Parcel.writeBundle(Parcel.java:1494) at android.os.Parcel.writeValue(Parcel.java:2678) at android.os.Parcel.writeValue(Parcel.java:2568) at android.os.Parcel.writeArrayMapInternal(Parcel.java:1425) at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1843) at android.os.Bundle.writeToParcel(Bundle.java:1483) at android.os.Parcel.writeBundle(Parcel.java:1494) at android.os.Parcel.writeValue(Parcel.java:2678) at android.os.Parcel.writeValue(Parcel.java:2568) at android.os.Parcel.writeArrayMapInternal(Parcel.java:1425) at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1843) at android.os.Bundle.writeToParcel(Bundle.java:1483) at android.os.Parcel.writeBundle(Parcel.java:1494) at android.os.Parcel.writeValue(Parcel.java:2678) at android.os.Parcel.writeValue(Parcel.java:2568) at android.os.Parcel.writeArrayMapInternal(Parcel.java:1425) at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1843) at android.os.Bundle.writeToParcel(Bundle.java:1483)at android.os.Parcel.writeBundle(Parcel.java:1494) at android.os.Parcel.writeValue(Parcel.java:2678)at android.os.Parcel.writeValue(Parcel.java:2568) at android.os.BaseBundle.dumpStats(BaseBundle.java:1917)at android.os.BaseBundle.dumpStats(BaseBundle.java:1954) at android.app.servertransaction.PendingTransactionActions$StopInfo.collectBundleStates(PendingTransactionActions.java:123) at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:139) at android.os.Handler.handleCallback(Handler.java:995)at android.os.Handler.dispatchMessage(Handler.java:105) at android.os.Looper.loopOnce(Looper.java:288)at android.os.Looper.loop(Looper.java:393) at android.app.ActivityThread.main(ActivityThread.java:9535) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:600) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1005) at Z.init(1749303902688-6bafe815-60c2-bb39-9603-334332482d25) Caused by: java.io.NotSerializableException: com.facebook.tigon.TigonErrorat java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1240)什么异常
06-18
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值