Bem, temos uma aplicação web, correndo JBoss e nós estamos tendo um erro OutOfMemory ao tentar inserir um monte de linhas em várias tabelas de um DB postgres. Este é o ambiente completo para este erro:
* JBoss 4.3.x GA
* Java 1.6.0
* Hibernate 3.0
* postgreSQL-8.3 (driver)
Sobre ambiente de código de trabalho real:
* A parte pesada sobre isso é que nós estamos analisando enorme quantidades de documentos XML cada um baixado separadamente a partir de uma URL específica (1 URL = 1 XML). Nós realizamos que por ter um EJB que distribui os URLs gerados para uma fila, em seguida, uma piscina de MDBs conectar usando correntes e gera os documentos (note que de fato, tivemos de levantar memória de pilha devido ao tamanho documentos XML, e estamos preso com ter que começar todo o documento em um fluxo), uma vez que o documento é gerado ele vai para outra fila, onde outra piscina MDB escuta.
Esses MDBs analisar o doc, armazenar informações em várias entidades (5 pelo menos) que, em seguida, são persistentes no DB (note que o gerenciamento de transações está definida como feijão e é iniciada e comprometida durante cada MDBs trabalhar). Processamento de URLs sequencialmente não é uma opção por causa da quantidade de URLs a serem processados, que levaria como 2 meses ou mais ... lol
O problema é ... que nós analisar e armazenar como 200 URLs ou assim e começar a sair do erro de memória para o PostgreSQL. Alguma ideia??
Desde já, obrigado!!
TAMBÉM: Pode ser útil saber que esse erro não estava saindo antes (eu fiz analisar alguns milhares de que XML befor), apenas a geração de documentos e analisar alguns dos-lo em algumas entidades não parecia trazer problemas. Problemas começaram quando começamos a analisar mais e mais do doc nele das entidades correspondentes. (Como uma entidade ter uma lista de características [outra entidade analisado a partir do mesmo xml])













