servlet - vice threadu pri vice requestech

bardolf * bardolf na seznam.cz
Sobota Červen 14 13:11:31 CEST 2008


Zdravim konferenci,
mam newbie dotaz na servlet. Docetl jsem se o problemu clenskych promennych (member variables) v servletech pri zpracovani vice requestu najednou. Cetl jsem napr. tento clanek http://www.javaworld.com/javaworld/jw-07-2004/jw-0712-threadsafe.html . Nebudu prepisovat kod, je k videni o page dal http://www.javaworld.com/javaworld/jw-07-2004/jw-0712-threadsafe.html?page=2 (ikdyz s malou chybou Thread.currentThread().sleep((long) Math.random() * 1000); je lepsi nahradi Thread.sleep((long) (Math.random() * 1000)); - nejen staticka metoda ale hlavne to pretypovani neni dobre).

Kdyz se tento servlet dotazuje vice requestu v jeden cas, ocekaval bych vysledek jaky je uveden v clanku. Ale vsechny requesty cekaji jeden na druhy (jako bych implementoval SingleThreadModel).

Snazil jsem se nalezt odpoved, tipoval jsem spatne nastaveni weboveho containeru, ale zkousel jsem to na Tomcatu 6.0.16 a 5.5.26, na Glassfishi V2 - vse s defaultnim nastavenim. Tak mozna se kdysi davno zmenilo ServletAPI a vsichni to povazuji za samozrejmost. Ne tak ja ;-).

Diky za kazdou odpoved, precetl jsem uz hafo konferenci a snad vsechny internety ;-)



Další informace o konferenci Konference