Un bean PSSB (Partitioned Stateless Session Bean) est un bean session sans état qui implémente l'interface PartitionHandlerLocal et utilise PartitionManager pour créer des partitions à partir de la fonction de partitionnement. Ses caractéristiques d'exécution sont identiques à celles d'un bean session sans état standard.
Ce type de bean est doté des fonctions spécifiques suivantes :
- Lorsque l'application est lancée dans le conteneur des beans enterprise, le bean
est analysé. S'il s'agit d'un bean PSSB, les méthodes de l'interface PartitionHandlerLocal sont appelées. Les méthodes d'implémentation de l'interface peuvent utiliser l'API PartitionManager pour soumettre des demandes au coordinateur du gestionnaire haute disponibilité et créer et activer les partitions en fonction de la stratégie en cours.
- Lors de l'activation des méthodes entre l'implémentation du client et l'implémentation serveur du bean PSSB, chaque invocation de méthode client est interceptée et traitée pour déterminer la partition à laquelle cette méthode doit s'appliquer sur l'infrastructure serveur. Par exemple, supposons que vous utilisiez un bean PSSB appelé TestBean
et que ce bean possède une méthode d'interface éloignée appelée ping(String
partition). Lorsque le client exécute la méthode TestBean.ping(partition),
TestBean_PartitionKey.ping(partition) (classe créée par le programmeur)
traite tous les attributs de la méthode et renvoie une chaîne unique pour indiquer au sous-système WLM la partition vers laquelle la méthode doit être acheminée.
- Le bean PSSB dispose de plusieurs méthodes pour traiter les changements d'état que les instances de partition peuvent connaître lors d'une exécution normale. Par exemple, les méthodes PartitionLoadEvent(String) et PartitionUnLoadEvent(String) sont exécutées si l'administrateur utilise JMX ou la commande wpfadmin pour déplacer le noeud final d'une partition d'un serveur vers un autre. Dans ce cas, si la partition P001 est associée au serveur d'applications appsvr1 et que vous lancez une opération de déplacement via la commande wpfadmin pour déplacer la partition P001
du système appsvr1 vers le système appsvrN dans le cluster, ces méthodes de rappels de bean sont invoquées. Le bean PSSB du serveur appsvr1 reçoit un rappel de désactivation émis par le gestionnaire haute disponibilité et l'environnement d'exécution de la fonction de partitionnement appelle la méthode PartitionUnLoadEvent(...).
A l'issue de l'exécution de cette méthode, le gestionnaire haute disponibilité du serveur appsvrN lance une méthode de rappel pour l'activation et l'environnement d'exécution de la fonction de partitionnement exécute PartitionLoadEvent(String) sur le bean PSSB.
En résumé, un bean PSSB est un bean session standard qui implémente et appelle des méthodes à partir de la fonction de partitionnement. Ces méthodes s'apparentent aux méthodes de rappels d'EJB existantes mais elles disposent de fonctions relatives au partitionnement au lieu de méthodes de rappels d'EJB standard.