Galera, sei que muita gente vai dizer, pesquisa ai no fórum, ou no google, faz uma semana que estou fazendo isso, porem não resolvi meu problema, não quero uma solução pronta, apenas uma dica dos mais experientes no assunto, meu problema e o seguinte uso o JDOM para fazer leitura de um xml, uso SAXBuilder, para efetuar o Parse, pelo que sei o SAX trata o documento xml como um fluxo continuo (sream) e o DOM o xml todo e armazenado na memoria como uma arvore, meu problema e que o xml tem mais de 10mb, e o java retorna java.lang.OutOfMemoryError, sei que aumentando o heap space esse problema vai ser resolvido, porem usando SAX nao teria que ler arquivos de qualquer tamanho, ou seja hoje eu tenho um arquivo de 10mb, aumento o heap e resolvo o problema, mas amanha o arquivo pode ter 100mb, e ai vou ficar controlando o uso de memoria da VM, segue ai meu codigo de leitura do xml:
public ReadXml(String f)
{
mural = null;
element = null;
d=null;
try
{
this.f = new File(f);
SAXBuilder sb = new SAXBuilder();
d = sb.build(this.f);
mural = d.getRootElement();
}
catch(JDOMException ex)
{
Logger.getLogger("global").log(Level.SEVERE, null, ex);
}
catch(IOException ex)
{
Logger.getLogger("global").log(Level.SEVERE, null, ex);
}
}
