Un haricot de session à état est défini comme suit :
Stateful Session Beans L'état d'un objet est constitué des valeurs suivantes de ses variables d'instance. Dans un haricot de session avec état, les variables d'instance représentent l'état d'une session unique client-bean. Parce que Parce que le client interagit ("parle") avec son bean, cet état est souvent appelé l'état conversationnel.
Un haricot de session sans état est défini comme suit :
Haricots de session apatrides Un haricot de session apatrides ne maintient pas un état conversationnel avec le client. Lorsqu'un client invoque les méthodes d'un bean sans état, les variables d'instance du bean peuvent contenir un état spécifique à ce client, mais seulement pour la durée de l'invocation. l'invocation. Lorsque la méthode est terminée, l'état spécifique au client ne doit pas être conservé. Les clients peuvent toutefois modifier l'état des variables d'instance dans les beans sans état mis en commun, et cet état est conservé Cet état est conservé jusqu'à la prochaine invocation du haricot apatride mis en commun. À l'exception de l'invocation d'une méthode, toutes les instances d'un haricot sans état sont équivalentes, ce qui permet au conteneur EJB d'attribuer une instance à n'importe quel client. client. C'est-à-dire que l'état d'un bean de session sans état doit s'appliquer à tous les clients.
L'avantage d'utiliser un bean de session sans état par rapport à un bean de session avec état est le suivant :
Parce que les beans de session apatrides peuvent supporter plusieurs cl offrir une meilleure évolutivité pour les applications qui nécessitent un grand nombre de clients. grand nombre de clients. En général, une application nécessite moins de beans de session sans état que de beans de session avec état. que de beans de session avec état pour prendre en charge le même nombre de clients. clients.
La question qui vient à l'esprit est donc de savoir quand il faut utiliser des session beans avec état ? Selon ma compréhension naïve de la question, il faut s'en tenir à l'utilisation d'un haricot de session sans état.
Quels seraient les candidats dans lesquels on devrait utiliser un bean de session avec état ? De bons exemples ?