Limite do JDOM

Gostaria de saber se alguem pode me dizer qual o tamanho limite do XML que o JDOM pode carregar, pois ao carregar um XMl de 31.193 mb o sistema está retornando a seguinte mensagem de erro:

Mensagem original: java.lang.OutOfMemoryError: Java heap space

Stack trace: java.lang.OutOfMemoryError: Java heap space at org.jdom.DefaultJDOMFactory.element(DefaultJDOMFactory.java:138) at org.jdom.input.SAXHandler.startElement(SAXHandler.java:511) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.jdom.input.SAXBuilder.build(SAXBuilder.java:453) at org.jdom.input.SAXBuilder.build(SAXBuilder.java:810) at org.jdom.input.SAXBuilder.build(SAXBuilder.java:789) at org.lifeminer.model.DataAccessModel.loadDataFrom(DataAccessModel.java:96) at org.lifeminer.gui.LifeMiner.loadDataFromFile(LifeMiner.java:499) at org.lifeminer.gui.LifeMiner.access$5(LifeMiner.java:483) at org.lifeminer.gui.LifeMiner$9.actionPerformed(LifeMiner.java:439) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.AbstractButton.doClick(Unknown Source) at de.muntjak.tinylookandfeel.TinyMenuItemUI.doClick(TinyMenuItemUI.java:571) at de.muntjak.tinylookandfeel.TinyMenuItemUI$MouseInputHandler.mouseReleased(TinyMenuItemUI.java:421) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source)

Porém com um xml menor funciona normalmente, preciso utilizar um XML com o tamanho o mais proximo possivel do que foi gerado com 31 MB, e tem que ser usado o JDOM.

[quote=igor.alves]
Porém com um xml menor funciona normalmente, preciso utilizar um XML com o tamanho o mais proximo possivel do que foi gerado com 31 MB, e tem que ser usado o JDOM.[/quote]

O problema é que está gerando objetos demais. aumenta a memoria da jvm ou diminua o arquivo (parta o arquivo em arquivos menores e leia um de cada vez)

Como faço para aumenta a memoria da JVM.

Não da para particionar o xml, pois o XML é a base de dados do sistema que deve ser lida de forma unica.

Cara, para vc poder alterar o tamanho da memória que a JVM utiliza, vc pode passar “parâmetros” para ela …
No caso, acredito que "-Xms<tamanho> e “-Xmx<tamanho>” seriam suficientes para vc contornar esse problema de memória que vc está tendo.
Da uma olhada nesse blog: http://blogs.sun.com/watt/resource/jvm-options-list.html
O cara postou todas as opções que vc pode passar para a JVM e uma breve descrição delas.
Acredito que isso vai te ajudar !