JAXB 可以增量编组对象吗?
我有一个相当简单但可能很大的结构需要序列化。 XML 的结构基本上如下:
<simple_wrapper>
<main_object_type>
<sub_objects>
</main_object_type>
... main_object_type repeats up to 5,000 times
</simple_wrapper>
main_object_type
可以包含大量数据。在我的第一个 3,500 条记录提取中,我必须为 JVM 提供比它应该需要的更多的内存。
因此,我想在每个(或一堆)main_object_type
之后写入磁盘。
我知道设置 Marshaller.JAXB_FRAGMENT
会允许它碎片,但我丢失了外部 xml 文档标签和
。
有什么建议吗?
I've got a fairly simple, but potentially large structure to serialize. Basically the structure of the XML will be:
<simple_wrapper>
<main_object_type>
<sub_objects>
</main_object_type>
... main_object_type repeats up to 5,000 times
</simple_wrapper>
The main_object_type
can have a significant amount of data. On my first 3,500 record extract, I had to give the JVM way more memory than it should need.
So, I'd like to write out to disk after each (or a bunch of) main_object_type
.
I know that setting Marshaller.JAXB_FRAGMENT
would allow it fragments, but I loose the outer xml document tags and the <simple_wrapper>
.
Any suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
下面的怎么样?
这假设您在 MainObjectType 上有一个 @XmlRootElement
How about the following?
This assumes you have an @XmlRootElement on MainObjectType
您可以将对象编组到 SAX 或 StAX 流中。
You can marshal your object into a SAX or StAX stream.