5

我希望有人可以为我澄清这一点,以便我可以更好地理解 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 类来说,实现可序列化有多重要,如果不实现会发生什么?

4

1 回答 1

7

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

于 2013-03-21T13:54:06.273 回答