SessionHandle para Roteamento

Quando estiver usando uma política de posicionamento de partição por contêiner, um objeto SessionHandle pode ser usado. Um objeto SessionHandle contém informações de partição para a Sessão atual e pode ser reusado para uma nova Sessão.

Um objeto SessionHandle inclui informações para a partição à qual a Sessão atual está limitada. O SessionHandle é extremamente útil para a política de posicionamento de partição por contêiner e pode ser serializado com a serialização Java padrão.

Se você tiver um objeto SessionHandle, esse identificador poderá ser aplicado em uma Sessão com o método setSessionHandle(SessionHandle target), passando o identificador como o destino. O objeto SessionHandle pode ser recuperado com o método Session.getSessionHandle.

Como ele se aplica apenas em um cenário de posicionamento por contêiner, obter o objeto SessionHandle emitirá uma IllegalStateException se uma determinada grade de dados tiver diversos conjuntos de mapas por contêiner ou não tiver nenhum conjunto de mapas por contêiner. Se o método setSessionHandle não for chamado antes de chamar o método getSessionHandle, o objeto SessionHandle apropriado será selecionado com base na configuração das propriedades do cliente.

Também é possível usar a classe auxiliar SessionHandleTransformer para converter o identificador em formatos diferentes. Os métodos desta classe podem alterar uma representação do identificador da matriz de bytes para a instância, da sequência para instância, e vice-versa, para ambos os casos e também podem gravar o conteúdo do identificador no fluxo de saída.

Para obter um exemplo de como é possível usar um objeto SessionHandle, consulte Roteamento para Zonas Preferenciais.