A interface PartitionHandlerLocal define métodos de retorno de chamada que permitem que o aplicativo receba eventos de ciclo de vida de partição específicos do tempo de execução do recurso de particionamento. Existem 4 métodos nesta interface.
PartitionDefinition[] getPartitions()
public PartitionDefinition[] getPartitions() { PartitionDefinition[] rc = new PartitionDefinition[10]; for(int i = 0; i < rc.length; ++i) { rc[i] = ivRuntime.createPartitionDefinition("" + i); } return rc;Isto retorna 10 partições ao tempo de execução. As partições são denominadas {0,1,2,3,4,5,6,7,8,9}. Todas são criadas utilizando a classificação padrão.
boolean partitionLoadEvent(String partitionName)
A sentença a seguir não se aplica no z/OS.
O método deve retornar true se o membro de cluster estiver pronto para aceitar trabalho para a partição especificada.
Quando o método for retornado, as tabelas de roteamento de IIOP serão atualizadas e os pedidos de IIOP que chegam serão entregues neste membro de cluster para a partição especificada.
Se o método retornar false, o gerenciador HA desativará o membro de cluster para esta partição e tentará ativar a partição em um membro de cluster diferente, com base na política atual. Esta desativação se aplica apenas à partição transmitida ao método, outras partições ainda poderão ser ativadas neste membro de cluster. Os aplicativos que retornam false devem assegurar que o rastreio adequado esteja ativado para permitir que o administrador faça o diagnóstico do problema. Se o problema for determinado como transitório por natureza, o administrador poderá utilizar JMX para ativar o membro de cluster novamente para essa partição específica.
Se um aplicativo estiver utilizando o sistema de mensagens para aceitar pedidos que chegam para uma partição (em oposição ao roteamento de IIOP direto), o aplicativo deverá assinar neste momento os tópicos/filas nos quais os pedidos podem chegar.
void partitionUnloadEvent(String partitionName)
Se um aplicativo estiver utilizando o sistema de mensagens para aceitar pedidos que chegam (em oposição ao roteamento de IIOP direto), ele deverá cancelar a assinatura de tópicos/filas nos quais estes pedidos chegam. O gerenciador HA não ativará um membro de cluster de substituição até que este método seja retornado.
O método isPartitionAlive é chamado apenas quando a política que controla a partição tem o atributo isAlive configurado como true na Política CoreGroup em vigor para este conjunto de partições (consulte a visão geral da política wpfadmin e os exemplos de comandos de política).
As políticas de partição do recurso de particionamento padrão desativam esse retorno de chamada e, assim como para várias partições, o desempenho geral do cluster pode ser afetado. Para ambientes gerenciados de forma muito restrita, pode ser desejável gerenciar este atributo de forma ativa.
boolean isPartitionAlive(String partitionName)
Se o método retornar false, a JVM entrará ‘em pane’ (a JVM será interrompida) e outro membro de cluster será escolhido para hospedar a partição. O aplicativo pode utilizar este método para verificar se a partição está operando corretamente, talvez solicitando que o membro de cluster de período chame um método de partição para executar uma operação de tipo ping ou uma verificação de estabilidade a partir de uma JVM remota.
Related concepts
Modelo de Programação de Estrutura do Recurso de Particionamento