WebSphere Extended Deployment, Version 6.0.x     Sistemas Operacionais: AIX,, HP-UX, Linux, Solaris , Windows , z/OS

PartitionHandlerLocal

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.

PartitionHandlerLocal#getPartitions

O método getPartitions é chamado quando o aplicativo é iniciado em um membro de cluster. Esse método é chamado uma vez em cada membro de cluster sempre que o aplicativo é iniciado. Esta assinatura do método é:

PartitionDefinition[] getPartitions()

O método deve retornar uma matriz de objetos PartitionDefinition. Deve haver exatamente uma PartitionDefinition para cada partição que o aplicativo pode hospedar neste membro de cluster. Um membro de cluster pode ser um candidato para uma partição apenas quando essa partição tiver sido retornada de getPartitions.
NoteColonSymbol É recomendável que o aplicativo sempre retorne o mesmo conjunto de partições em cada membro de cluster.
As políticas do gerenciador HA (Highly Available) podem ser utilizadas para limitar a partição para ativação em determinados membros de cluster ou até mesmo 'atribuir' uma partição a um membro de cluster específico. A seguir está um método getPartitions de exemplo:
	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.

PartitionHandlerLocal#partitionLoadEvent

O gerenciador HA chama partitionLoadEvent quando uma partição é ativada em um membro de cluster. Isto permite que o aplicativo execute qualquer inicialização requerida antes de receber pedidos de IIOP para a partição especificada (o nome da partição é fornecido como um parâmetro de cadeia). A assinatura do método partionLoadEvent é:

boolean partitionLoadEvent(String partitionName)

[zos platforms] 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.

PartitionHandlerLocal#partitionUnloadEvent

O gerenciador HA chama o método partitionUnloadEvent quando uma partição é desativada. O evento instrui o aplicativo para parar o processamento de pedidos para a partição especificada. O tempo de execução do recurso de particionamento atualiza a tabela de roteamento de IIOP para este membro de cluster antes de chamar este retorno de chamada. O método possui a seguinte assinatura:

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.

PartitionHandlerLocal#isPartitionAlive

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.

Quando o atributo isAlive da política do gerenciador HA for true, este método será chamado a cada X segundos (também definido na política) enquanto uma partição estiver sendo ativada/ativa ou sendo desativada. O intervalo está em segundos e é especificado utilizando um atributo diferente na política de controle. O método isPartitionAlive nunca é chamado quando o atributo da política isAlive está configurado como false. A assinatura do método é:

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

Tópico de Referência    

Termos de Uso | Feedback Última atualização: Mar 21, 2006 12:52:01 PM EST
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=?topic=/com.ibm.websphere.xd.doc/info/WPF51/rwpfPartitionHandlerLocal.html

© Copyright IBM 2005, 2006. Todos os Direitos Reservados.
Este centro de informações é desenvolvido em tecnologia Eclipse. (http://www.eclipse.org)