RGM invoca todos los métodos de rellamada, salvo Validate, como se indica a continuación.
nombre_método -R nombre_recurso -T nombre_tipo_recurso -G nombre_grupo_recurso |
El nombre del método es el de la ruta del programa que implementa el método de rellamada. Un servicio de datos especifica el nombre de la ruta de cada método en el archivo RTR. Estos nombres de ruta son relativos al directorio especificado por la propiedad Rt_basedir también en el archivo RTR. Por ejemplo, en el archivo RTR del servicio de datos de ejemplo, los nombres del directorio básico y del método se especifican como se indica a continuación.
RT_BASEDIR=/opt/SUNWsample/bin; START = dns_svc_start; STOP = dns_svc_stop; ... |
Todos los argumentos del método de rellamada se pasan como valores con indicadores, donde -R indica el nombre de la instancia de recursos, -T, el tipo del recurso y -G, el grupo en el que se configura el recurso. Consulte la página de comando man rt_callbacks(1HA) para obtener más información sobre los métodos de rellamada.
El método Validate se invoca con argumentos adicionales (los valores de la propiedad del recurso y del grupo de recursos en el que se invoca). Consulte Manejo de las actualizaciones de propiedades para obtener más información.
Cada método de rellamada necesita una función para analizar los argumentos que se le pasan. Dado que las rellamadas pasan siempre por los mismos argumentos, el servicio de datos proporciona una única función de análisis para todas las rellamadas de la aplicación.
A continuación se muestra la función parse_args() empleada para los métodos de rellamada en la aplicación de ejemplo.
######################################################################### # Analizar argumentos del programa. # function parse_args # [args ...] { typeset opt while getopts 'R:G:T:' opt do case "$opt" in R) # Nombre del recurso de DNS. RESOURCE_NAME=$OPTARG ;; G) # Nombre del grupo de recursos en el que se ha configurado # el recurso. RESOURCEGROUP_NAME=$OPTARG ;; T) # Nombre del tipo de recurso. RESOURCETYPE_NAME=$OPTARG ;; *) logger -p ${SYSLOG_FACILITY}.err \ -t [$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME] \ "ERROR: Opción $OPTARG desconocida" exit 1 ;; esac done } |
Aunque el método PROBE de la aplicación de ejemplo está definido por el usuario (no es un método de rellamada de Sun Cluster), se invoca con los mismos argumentos que los métodos de rellamada. Por tanto, este método contiene una función de análisis idéntica a la que utilizan otros métodos de rellamada.
La función de análisis se invoca en MAIN como:
parse_args “$@” |