Hola a todos,
Apenas estoy comenzando a leer sobre EJB 3, y me surge la siguiente duda, ¿Qué quiere decir exactamente que los beans Stateless no mantienen el estado y los Stateful sí lo hacen?
Para comenzar creé un bean de prueba, primero le coloqué la anotación @Stateless y luego la anotación Statelful y yo veo el mismo comportamiento.
Este es el session bean:
Código:
@Stateless
public class HolaMundoBean implements IHolaMundoLocal {
private int numero = 1;
@Override
public int sumar(Integer numero) {
this.numero += numero;
return this.numero;
}
}
Desde un servlet llamo al método sumar del bean:
Código:
out.println("<h1>La suma es: " + holaMundo.sumar(2) + "</h1>");
out.println("<h1>La suma es: " + holaMundo.sumar(3) + "</h1>");
out.println("<h1>La suma es: " + holaMundo.sumar(4) + "</h1>");
Y el resultado es 3, 6, 10. Según lo que yo entiendo, como el bean no mantiene el estado, los resultados deberían ser 3, 4, 5
Si el bean lo coloco como un @Stateful, obtengo el mismo resultado.
¿Qué es lo que estoy haciendo mal o no he entendido?
Gracias desde ya por su tiempo y ayuda.