¿Cuándo usar el bean de sesión con estado sobre el bean de sesión sin estado?

Un bean de sesión con estado se define de la siguiente manera:

Beans de sesión con estado El estado de un objeto consiste en los valores de sus variables de instancia. En un bean de sesión con estado, las variables de instancia representan el estado de una sesión de bean de cliente única. Debido a que el cliente interactúa ("habla") con su bean, este estado a menudo se denomina estado de conversación.

Un bean de sesión sin estado se define de la siguiente manera:

Beans de sesión sin estado Un bean de sesión sin estado no mantiene un estado de conversación con el cliente. Cuando un cliente invoca los métodos de un bean sin estado, las variables de instancia del bean pueden contener un estado específico para ese cliente, pero solo durante la invocación. Cuando el método finaliza, el estado específico del cliente no debe mantenerse. Sin embargo, los clientes pueden cambiar el estado de las variables de instancia en beans sin estado agrupados, y este estado se mantiene en la siguiente invocación del bean sin estado agrupado. Excepto durante la invocación del método, todas las instancias de un bean sin estado son equivalentes, lo que permite que el contenedor EJB asigne una instancia a cualquier cliente. Es decir, el estado de un bean de sesión sin estado debe aplicarse a todos los clientes.

La ventaja de usar un bean de sesión sin estado sobre un bean de sesión con estado es la siguiente:

Dado que los beans de sesión sin estado pueden admitir varios clientes, pueden ofrecer una mejor escalabilidad para aplicaciones que requieren una gran cantidad de clientes. Normalmente, una aplicación requiere menos beans de sesión sin estado que los beans de sesión con estado para admitir el mismo número de clientes.

¿Entonces la pregunta que viene a la mente es cuándo se deben usar beans de sesión con estado? Para mi ingenua comprensión del asunto, uno debería seguir utilizando un bean de sesión sin estado como pueda.

¿Cuáles serían los candidatos en los que uno debería usar bean de sesión con estado? ¿Algún buen ejemplo?

Haba de sesion

Respuestas a la pregunta(2)

Su respuesta a la pregunta