JAXB对象没有实现可序列化的后果是什么?

时间:2013-03-21 13:50:21

标签: java jaxb serializable

我希望有人可以为我澄清这一点,以便我能更好地理解JAXB对象的编组是如何工作的。

通过阅读和查看示例,我理解JAXB对象必须实现java.io.Serializable,以便可以正确编组和解组对象。我有点不确定的部分是当你的一个JAXB对象没有实现可序列化时会发生什么(读:后果是什么)?这在过去发生过,导致日志文件中的错误类似于

ERROR [example.package.name.MyJaxbClass.data]DiskStorageFactory.call{503} | Disk Write of -309037891 failed: 
java.io.NotSerializableException: example.package.name.myJaxbClass$MyNonSerializedElement

然而其余代码似乎工作正常。您的JAXB类实现可序列化的重要性以及当它们不实现时会发生什么?

1 个答案:

答案 0 :(得分:6)

实现java.io.Serializable不需要JAXB (JSR-222)对象,以便将其转换为XML或从XML转换。来自XML转换的对象不会作为Java序列化的一部分发生。当然,如果您希望序列化对象以便与应用程序的其他部分一起使用,那么您需要为此正确配置它们。