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 :(