Zamerajte sa na transaction isolation pretoze zrejme sa snazite spracovat celu davku v jednej transakcii na ktoru je naviazany aj JPA caching (ak medzitym este vyberate nejake data) a cele to fakt moze mat dost velku spotrebu pamate. "Rychlu ulavu" dosiahnete napr. tym ze volania do "DalsiLocale dalsi" budu mat nastavenu transaction isolation na requiresnew. Co sice bude mat za nasledok to ze neodrolujete celu davku v pripade chyby - ale na druhej strane vas to bude tlacit napr. k navrhu kompenzacnych metod ktore mozu byt uzitocne keby vasa fronta suborov bola fakt velka.
rho.

Ales Dostal wrote:

Zdravim,
mam problem s Java Sun Application Server 9.
Ve chvili, kdy vzdalene volam EJB ze stand-alone aplikace a posilam data, ktere 
ma server zpracovat, tak vse funguje do doby, kdy dojdou prostredky serveru.
Jinymi slovy, server mi sezere maximalni pocet pameti a ukonci se v 
OutOffMemory :(

Posilam seznam souboru, ktere ma server zpracovat.
Vsechny EJB beany jsou Stateless.

Samotna vstupni beana vola dalsi:
@EJB
private DalsiLocale dalsi;

Soubory se rozparsuji a ulozi do databaze. Transakce jsou rizene pomoci JTA, 
definovane v persistence.xml.

Problem je, ze se mi v pameti vse uchova a nijak se neodstranuje :(

Vim, ze neco delam blbe, ale stale nevim co.

Diky, za jakoukoli radu :(


Odpovedet emailem