30 de abril de 2014

Cómo funcionan realmente los EJB de sesión (Stateful Session Beans, SFSB) en Java

(CC) Lilian Wong
Los EJB de sesión (Stateful Session Beans, SFSB) no funcionan como yo pensaba.

(Pensaba que podían llamarse desde un Servlet o desde un EJB Stateless (Stateless Session Bean, SLSB) y que automágicamente diferenciaran entre los navegadores que están accediendo la aplicación Web. Pero no es así.)


Conclusiones
  • El cliente de un SFSB debe guardar la referencia, para poder acceder a la misma instancia.
  • Una referencia a un SLSB no garantiza que se acceda a la misma instancia, pues el servidor típicamente tiene un pool.
  • Si el cliente es la capa web (un Servlet, una JSP), se recomienda guardar la referencia en la sesión web.
  • No es útil ejecutar un SFSB desde un SLSB, pues la instancia que usará será nueva.
  • No se debe inyectar (EJB 3) un SFSB en un SLSB, pues clientes diferentes accederan al SLSB pero estarán accediendo al mismo SFSB.

Referencias

No hay comentarios.:

Publicar un comentario