Stateful beany nejsou reentrantni. Tj. nelze volat jeden stateful bean z vice 
requestu (ani to vlastne nedava smysl, vzhledem k tomu stavu).

Metody beanu se daji synchronizovat (my to tak u jednoho casto volaneho beanu 
mame a v produkci to na WAS bezi uz pres 4 roky bez problemu). IMO je to ale 
prasarna a na 99%, ze to je i proti j2ee spec. Urcite cistsi je synchronizovat 
volani beany nekde vne toho vlastniho beanu.

Honza

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Behalf Of Ondřej Fafejta KYBERIE
Sent: Thursday, July 20, 2006 11:22 AM
To: Java
Subject: EJB3 stateful bean a konkurentní přístup


Zdravím konferenci!

Zkoušeli jsme testy konkurentního přístupu pomocí
http://jakarta.apache.org/jmeter/.
Testovali jsme to tak, že jsme si vytvořili jednoduchou JSF stránku,
která volala metody stateless nebo stateful beanu.

Testy pro stateless proběhly naprosto v pořádku.
U statefull beanu nám to vyhazovalo výjímky:

glassfish:
javax.ejb.ConcurrentAccessException: SessionBean is executing another
request. [session-key: 907f0100001f-ffffffff8b263151-1]

JBOSS:
javax.ejb.EJBException: Application Error: no concurrent calls on
stateful beans

V googlu jsem našel pouze toto:
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3839920#3839920

Tím, že podobné výjímky vyhazuje JBOSS i glassfish si troufám říci, že
něco děláme špatně ;-).
Nevíte, v čem by mohl být problém?

Díky
Fafi

Odpovedet emailem