Читать книгу Desarrollo de aplicaciones web con Jakarta EE - César Francisco Castillo - Страница 46
3.1 Tipos de session beans
ОглавлениеLos session beans pueden ser de los siguientes tipos:
* Stateless
* Stateful
* Singleton
Un stateless session bean es un componente sin estado, el cual consiste en una clase java que incluye la anotación @Stateless y que cuenta con al menos un método, como se puede apreciar en el siguiente fragmento de código:
El contenedor mantiene un grupo de instancias de estos EJB (pool) para atender a los diversos clientes que pudieran solicitar alguna de ellas. Cabe destacar que dichas instancias no pueden distinguirse entre sí, ya que para el container son todas “iguales” y la cantidad del pool se puede ampliar o disminuir en función de las necesidades de cada aplicación. Por ejemplo, en Payara, este número se puede configurar en la sección “EJB Container” que se encuentra dentro de “server-config” en el menú “Configurations”.
Por su parte, un stateful session bean es un componente que sí tiene estado, mantiene un vínculo con el cliente y puede contener variables de instancias. Se denota utilizando la anotación @Stateful, como se aprecia en el siguiente fragmento de código:
A diferencia de los stateless beans y su pool, el contenedor debe ser capaz de proveer instancias para cada cliente que las solicite.
Un singleton session bean es un componente similar a un stateless, pero con la diferencia de que incluye la anotación @Singleton y que en el contenedor solo puede existir una única instancia de él.
En lo que respecta a los clientes y a las invocaciones, diremos que un EJB puede tener como clientes a otro EJB, una aplicación en modo consola (standalone) o algún componente web como un servlet.
Las invocaciones pueden ser locales, desde componentes que residan en el mismo contenedor, o bien externas o remotas, desde procesos que no se encuentren en dicho contenedor.
Para profundizar en los conceptos relacionados con los EJB, puede acceder a las especificaciones disponibles en la siguiente dirección URL: https://jakarta.ee/specifications/enterprise-beans/