5

JAXBオブジェクトのマーシャリングがどのように機能するかをよりよく理解できるように、誰かがこれを明確にしてくれることを願っています。

java.io.Serializable例を読んで見ると、オブジェクトを正しくマーシャリングおよびアンマーシャリングできるように、JAXBオブジェクトを実装する必要があることがわかります。私が少し確信が持てないのは、JAXBオブジェクトの1つがシリアライズ可能を実装していない場合に何が起こるか(読んでください:結果は何ですか)です。これは過去に発生したことがあり、次のようなエラーがログファイルに発生します。

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変換への/からのオブジェクトは、Javaシリアル化の一部としては発生しません。もちろん、アプリケーションの他の部分で使用するためにオブジェクトをシリアル化する場合は、そのためにオブジェクトを正しく構成する必要があります。

于 2013-03-21T13:54:06.273 に答える