La interfaz PartitionHandlerLocal define métodos de retorno de llamada que permiten que la aplicación reciba de la ejecución de Partitioning Facility sucesos específicos de ciclo de vida de una partición. Esta interfaz contiene 4 métodos.
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;En este ejemplo se devuelven 10 particiones al tiempo de ejecución. Las particiones se denominan {0,1,2,3,4,5,6,7,8,9}. Todas se han creado utilizando la clasificación por omisión.
boolean partitionLoadEvent(String partitionName)
La siguiente frase no se aplica en z/OS.
El método debe devolver el valor true si el miembro de clúster está preparado para aceptar trabajo para la partición especificada.
Una vez que se devuelve el método, se actualizan las tablas de direccionamiento IIOP y las peticiones IIOP de entrada se envían a este miembro de clúster de la partición especificada.
Si el método devuelve el valor false, HA manager inhabilita el miembro de clúster de esa partición e intenta activarla en un miembro de clúster distinto basado en la política vigente. Esta inhabilitación sólo se aplica a la partición pasada al método, es posible que las demás particiones estén todavía activadas en este miembro de clúster. Las aplicaciones que devuelven el valor false deben habilitar el rastreo adecuado para permitir que el administrador diagnostique el problema. Si se determina que el problema es de carácter temporal, el administrador puede utilizar JMX para habilitar el miembro de clúster para esa determinada partición de nuevo.
Si una aplicación está utilizando la mensajería para aceptar peticiones de entrada para una partición (en lugar del direccionamiento IIOP directo), la aplicación debería suscribirse en ese momento a los temas/colas a donde pueden llegar las peticiones.
void partitionUnloadEvent(String partitionName)
Si una aplicación está utilizando la mensajería para aceptar peticiones de entrada (en lugar del direccionamiento IIOP), debe anularse la suscripción a los temas/colas a los que llegan esas suscripciones. HA manager no activará la sustitución de un miembro de clúster hasta que este método no devuelva el control al sistema.
Sólo se llama al método isPartitionAlive cuando la política que controla la partición tiene el atributo isAlive establecido en true en la política de grupo principal en vigor para este conjunto de particiones (consulte la visión general de la política de wpfadmin y los ejemplos de mandatos de política).
Las políticas de partición de Partitioning Facility por omisión inhabilitan este retorno de llamada, ya que en numerosas particiones el rendimiento de clúster global puede verse afectado. Para entornos fuertemente gestionados, es posible que opten por gestionar este atributo de forma activa.
boolean isPartitionAlive(String partitionName)
Si el método devuelve el valor false, se genera una situación de alarma en la JVM, que se detiene, y se selecciona otro miembro de clúster para que albergue la partición. La aplicación puede utilizar este método para verificar que la partición funciona correctamente, preguntando quizás a un miembro de clúster de igual que invoque un método de partición para realizar una operación de tipo ping o una comprobación del funcionamiento desde una JVM remota.