Sto creando un file XML molto grande (700 MB +) che elabora grandi quantità di dati tramite batch. Il programma funge da interfaccia tra un database di sybase estremamente grande e un'applicazione. Al momento ho lo schema xsd associato alle classi. Ho bisogno di un modo per essere in grado di scrivere l'XML con la logica del riavvio in mente.JAXB Java - Scrittura di file XML con logica di riavvio
I.E. essere in grado di sapere dove ho lasciato. In altre parole, se il programma fallisce, devo essere in grado di vedere ciò che è stato scritto l'ultima volta nel file XML in modo che possa riprendere da dove avevo interrotto. Ecco un exmaple.
<root>
<WorkSet>
<Work>
<Customer>
<Work>
<Customer>
<WorkSet>
<Work>
.....
<root>
Dire che il programma fallisce dopo aver scritto un nodo "work" o "workset" di scrittura. C'è un modo per riprendere da dove ho smesso di elaborare? Sto cercando di evitare di leggere il file XML in memoria a causa delle dimensioni di taglio del file XML (supponiamo che finisca 500mb di XML e fallisca).
Grazie per l'aiuto.
+1 - Stavo per suggerire qualcosa in questo senso. –
L'aggiunta del tag @XmlRootElement alla classe java WorkSet influisce sulla funzionalità del file XML di grandi dimensioni dopo la concatenazione di più Workset? Sono un po 'nuovo il JAXB quindi fammi sapere se non lo capisco correttamente. – TyC
Non penso che l'aggiunta di '@ XmlRootElement' influenzerà la tua precedente funzionalità. Senza aggiungere '@ XmlRootElement' il' Marshaller.marshal() 'lancia la seguente eccezione:' com.sun.istack.SAXException2: impossibile marcare il tipo "org.package.MyWorkSet" come elemento perché manca un @ Annotazione XmlRootElement'. – palacsint