Señalar a los beans de sesión sin estado en Enterprise JavaBeans
Beans de sesión sin estado
- EJB que completan una tarea en un solo paso - son, posiblemente, el más simple de todos los componentes EJB. Ellos hacen demandas mínimos sobre el desarrollador de componentes EJB y se utilizan para implementar operaciones muy simples. Sin embargo, usted tiene varias reglas importantes con respecto a los beans de sesión sin estado que, como desarrollador de EJB, debe recordar.Beans de sesión sin estado puede ser complicado debido a la forma de las interfaces EJBHome y EJBObject se definen. Todos los tipos de componentes EJB implementar estas dos interfaces, que deben ser lo suficientemente generales como para apoyar los métodos necesarios por los granos de apátridas de sesión, beans de sesión con estado y beans de entidad. Debido a que los beans de sesión sin estado son tan simples, que no necesitan todos los métodos que las interfaces EJBHome y EJBObject definen. En consecuencia, algunos de los métodos en el bean de sesión sin estado siempre lanzan excepciones si son invocados.
Tome una nota - la hora de definir sus propias clases, es una buena idea para definir interfaces de modo que se esconden métodos que son irrelevantes para una aplicación en particular. Esto se logra simplemente mediante la definición de la interfaz más estrecho primero, y luego extenderlo a añadir métodos adicionales para una interfaz más amplio, y así sucesivamente hasta que haya definido todos los métodos necesarios. Si lo hace, elimina el desorden que resulta de tener métodos implementados en una clase que no necesita de ellos y no puede utilizarlos.
Sesión sin estado frijol del ciclo de vida
Beans de sesión sin estado son componentes EJB diseñado con dos objetivos simples en mente:
- Para llevar a cabo tareas simples que se pueden realizar en una sola invocación de método.
- Para ser compartido por muchos clientes al mismo tiempo. Esta es la causa fundamental para el bean de sesión sin estado de ser.
El termino apátrida se refiere al hecho de que el bean de sesión sin estado no puede contener ninguna información para un cliente EJB entre invocaciones de métodos para ese cliente. La razón beans de sesión sin estado son apátridas se debe a que los frijoles se llevan a cabo en una piscina compartida en el contenedor EJB entre cada invocación del método en el frijol, un proceso que se muestra en la Figura 1.
Cuando un cliente invoca un método en un bean de sesión sin estado, se retira de la piscina, el método se ejecuta y el frijol se devuelve inmediatamente a la piscina. En consecuencia, si se ejecutara dos métodos concurrentes en una variable de sesión bean sin estado, diferentes frijoles en el contenedor EJB probablemente atenderlos.
Casos Ideal para el uso de beans de sesión sin estado son para tareas simples, tales como el procesamiento de un pago, hacer un depósito, o hacer un retiro. Estas tareas todos tienen dos características comunes: Representan acciones, y que se pueden realizar en un solo paso.
Mientras que los beans de sesión sin estado ofrecen un beneficio gran rendimiento, no son la mejor opción para todas las tareas. Si usted necesita su bean de sesión para recordar la información suministrada por el cliente a través de múltiples llamadas a métodos, entonces usted debe utilizar beans de sesión con estado.
Cuándo utilizar beans de sesión sin estado
Dada la abundancia de opciones de componentes EJB disponibles para usted, a veces puede ser difícil decidir si el bean de sesión sin estado es la herramienta adecuada para su tarea. Un par de pautas simples que usted puede ayudarle a tomar esa decisión.
- En primer lugar, considerar si la tarea la aplicación necesita para llevar a cabo se puede lograr en una invocación-método único. Recuerde que un bean de sesión sin estado no puede recordar estado específico a un cliente entre llamadas a métodos. Por lo tanto, si la tarea implica más que un solo paso, el bean de sesión sin estado no es la elección correcta. Pero si se puede realizar la tarea en un solo paso, a continuación, utilice siempre el bean de sesión sin estado.
- En segundo lugar, determinar si el proceso de su aplicación está realizando debe ser visible a varios clientes al mismo tiempo. Si la aplicación tiene que compartir la información y el estado entre varios clientes, entonces usted tiene sólo una opción - un bean de entidad.
Recuerde que un bean de sesión sin estado ofrece beneficios sustanciales de rendimiento para su aplicación. En general, si usted puede diseñar la aplicación para maximizar el uso de beans de sesión sin estado, el servidor de aplicaciones será capaz de responder a las invocaciones de los clientes con mayor rapidez.