SessionHandle pour le routage

Lorsque vous utilisez une règle de placement de partition par conteneur, vous pouvez utiliser un objet SessionHandle. Un objet SessionHandle contient des informations de partition pour la session en cours et il peut être réutilisé pour une nouvelle session.

Un objet SessionHandle inclut des informations pour la partition à laquelle la session en cours est liée. SessionHandle est particulièrement utile pour la stratégie de positionnement de partition par conteneur. La sérialisation standard Java peut lui être appliquée.

Si vous disposez d'un objet SessionHandle, vous pouvez appliquer cet indicateur à une session avec la méthode setSessionHandle(SessionHandle target) en utilisant l'indicateur comme cible. Vous pouvez extraire l'objet SessionHandle avec la méthode Session.getSessionHandle.

Etant donné que cela s'applique uniquement dans un scénario de placement par conteneur, l'extraction de l'objet SessionHandle émet une exception IllegalStateException si une grille de données a plusieurs groupes de mappes par conteneur ou aucun groupe de mappes par conteneur. Si vous n'appelez pas la méthode setSessionHandle avant la méthode getSessionHandle, l'objet approprié SessionHandle est sélectionné en fonction de votre configuration des propriétés du client.

Vous pouvez également utiliser la classe auxiliaire SessionHandleTransformer pour convertir l'indicateur dans différents formats. Les méthodes de cette classe peuvent modifier la représentation d'un indicateur, d'un tableau d'octets en une instance, d'une chaîne en une instance, et vice versa dans les deux cas. Elles permettent d'écrire le contenu de l'indicateur dans le flux de sortie.

Pour un exemple d'utilisation d'un objet SessionHandle, voir Routage par zone préférée.