我正在創建一個非常大的XML文件(700mb +),可以通過批處理大量數據。該程序充當極大型sybase數據庫和應用程序之間的接口。我目前有xsd模式綁定到類。我需要一種能夠在考慮重新啓動邏輯的情況下編寫XML的方法。Java JAXB - 使用重新啓動邏輯編寫XML文件
I.E.能夠知道我從哪裏離開。或者換句話說,如果程序失敗了,我需要能夠看到最後一次寫入XML文件的內容,以便它可以從我離開的地方繼續。這是一個例子。
<root>
<WorkSet>
<Work>
<Customer>
<Work>
<Customer>
<WorkSet>
<Work>
.....
<root>
說在寫入'work'或'workset'節點後程序失敗。有沒有辦法提起我離開處理的地方?由於XML文件的剪切大小,我試圖避免將XML文件讀回到內存中(假設它完成500mb的XML並失敗)。
感謝您的幫助。
+1 - 我正在建議這方面的一些事情。 –
在工作集java類中添加@XmlRootElement標記是否會在多個工作集連接後影響一個大型XML文件的功能?我在JAXB上有點新,所以讓我知道如果我沒有正確理解它。 – TyC
我不認爲添加'@ XmlRootElement'會影響你以前的功能。 如果不添加'@ XmlRootElement',Marshaller.marshal()會拋出以下異常:'com.sun.istack.SAXException2:無法編組類型「org.package.MyWorkSet」作爲元素,因爲它缺少@ XmlRootElement註釋'。 – palacsint