ahojte,

mozno to bude trocha mimo, ale raz som pouzil nasledovne riesenie
vykonavania dlhotrvacujich uloh vo web aplikacii (tomcat), mozno nie
je dobre, skuste prosim okomentovat.

tiez mam aplikaciu, kde treba spustit nieco ako dennu uzavierku, a
trva to 10-20 minut.

pouzil som QUARTZ, mam jednu tabulku v DB, kde zapise 1 riadok ked da
klient pokyn na vykonanie ulohy, uloha ma stavy, 0 - inicializacia, 1-
vykonava sa, 2 - ukoncena.

QUARTZ mam tak nastaveny , ze naraz moze bezat iba 1 dany JOB (teda
caka na jeho ukoncenie pri predchadzajucom spusteni), a spusta sa raz
za 5 minut.

ak najde v danej DB tabulke riadok, ktory ma stav 0 - inicializacia,
zmeni na 1 - vykonava sa a QUARTZ job zacne dlhotrvajuci vypocet, ked
skonci nastavi stav na 2 - ukoncena.

(to ze klient vidi maximalne 4 minuty a 59 sekund stav 0 -
inicializacia mu nevadi).

dakujem za akekolvek pripomienky.

Ivan

2010/11/28 Oto Buchta <[email protected]>:
> Jak už mnozí přede mnou psali, ruční spouštění nových vláken v J2EE
> přináší jenom potíže.
> Existují na to dva v J2EE používané mechanizmy:
> 1) Doporučovaný je messaging. Zavolání jedné MBeany vytvoří v
> kontejneru nové vlákno a to si pak žije vlastním životem
> a hlavně je spravováno právě kontejnerem, který neskončí, dokud se
> požadavek řeší.
> 2) Když není JMS k dispozici (a to v holém tomcatu není), použijí se
> prostředky servletového kontejneru.
> Ze servletu se otevře nové jednosměrné HTTP spojení přes loopback.
> Ano, má to za následek nutnost rozšířit pool na spojení, to by ale
> neměl být problém. Teď jenom doufám, že konkrétně Tomcat zvenčí
> ukončené vlákno ihned nezabije, ale přiznám se, že nevím, jak by to
> udělal.
> --
> Oto 'tapik' Buchta, [email protected], http://tapikuv.blogspot.com
>

Odpovedet emailem