Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Abrufen von Eigenschaftsinformationen

Die meisten Rückmeldemethoden benötigen Informationen über die Ressourcen- und Ressourcentypeigenschaften des Datendienstes. Die API stellt zu diesem Zweck die scha_resource_get()-Funktion bereit.

Es stehen sowohl systemdefinierte Eigenschaften als auch Erweiterungseigenschaften zur Verfügung. Systemdefinierte Eigenschaften sind vordefiniert. Die Erweiterungseigenschaften definieren Sie in der RTR-Datei.

Wenn Sie scha_resource_get() verwenden, um den Wert einer systemdefinierten Eigenschaft abzurufen, geben Sie den Namen der Eigenschaft mit der Option -O an. Der Befehl gibt nur den Wert der Eigenschaft zurück. Zum Beispiel muss die Monitor_start-Methode des Beispieldatendienstes das Testprogramm finden, damit es ausgeführt werden kann. Das Testprogramm befindet sich im Basisverzeichnis des Datendienstes, auf das mit der Eigenschaft RT_basedir verwiesen wird. Die Monitor_start-Methode ruft den Wert von RT_basedir ab und fügt ihn wie folgt in die RT_BASEDIR-Variable ein:

RT_BASEDIR=`scha_resource_get -O RT_basedir -R $RESOURCE_NAME -G \
$RESOURCEGROUP_NAME`

Für die Erweiterungseigenschaften müssen Sie die Option -O verwenden, um anzugeben, dass die Eigenschaft eine Erweiterungseigenschaft ist. Sie müssen auch den Namen der Eigenschaft als letztes Argument angeben. Im Falle von Erweiterungseigenschaften gibt der Befehl sowohl den Typ als auch den Wert der Eigenschaft zurück. Beim Beispieldatendienst ruft z.B. das Testprogramm den Typ und den Wert der Probe_timeout-Erweiterungseigenschaft ab und verwendet den awk-Befehl wie folgt, um den Wert lediglich in die PROBE_TIMEOUT-Shell-Variable einzufügen:

probe_timeout_info=`scha_resource_get -O Extension \
-R $RESOURCE_NAME -G $RESOURCEGROUP_NAME Probe_timeout`
PROBE_TIMEOUT=`echo $probe_timeout_info | awk '{print $2}'`