Leer XML 7Mb java.lang.OutOfMemoryError: Java heap space

elangelcaido
07 de Noviembre del 2009
Hola,

Tengo que leer un archivo XML de unos 7Mb (utilizo JDOM para leer el XML) y me salta la excepción "java.lang.OutOfMemoryError: Java heap space"

Por supuesto, si recorto el XML para que me ocupe menos, lo leo sin problemas.

En principio, para solucionar este problema de espacio de memoria, podría ampliar el espacio de la zona de intercambio de la Máquina virtual de Java con -Xmx1500M, por ejemplo. Pero esta quiero que sea la última alternativa posible, ya que esta aplicación se usará en varios ordenadores y no es una opción andar cambiando el espacio de la zona de intercambio de cada JVM.

¿Alguien sabría decirme cómo solucionar el problema de "Java heap space" para poder leer archivo grandes?

Gracias por la ayuda

cemo
29 de Abril del 2010
Hay 2 maneras de leer un xml. Una es por DOM y otra es por SAX. Seguramente tu lo haces por DOM que hace que todo el documento XML se cargue en memoria. Si utilizas el SAX iras leyendo el XML parcialmente y asi soluciones el error. SAludos!!