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 zwei Arten von Ressourceneigenschaften zur Verfügung: systemdefinierte Eigenschaften und Erweiterungseigenschaften. Systemdefinierte Eigenschaften sind vordefiniert, während Sie Erweiterungseigenschaften in der RTR-Datei definieren.

Wenn Sie scha_resource_get() zum Abrufen des Wertes einer systemdefinierten Eigenschaft verwenden, geben Sie den Eigenschaftsnamen mit dem -O-Parameter an. Der Befehl gibt nur den Wert der Eigenschaft zurück. Im Beispieldatendienst benötigt zum Beispiel die Monitor_start-Methode den Speicherort des Testsignalprogramms, um es zu starten. Das Testsignalprogramm residiert im Basisverzeichnis für den Datendienst, auf das die RT_BASEDIR-Eigenschaft zeigt. Daher ruft die Monitor_start-Methode den Wert von RT_BASEDIR ab und legt ihn in der RT_BASEDIR-Variablen ab:


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

Für Erweiterungseigenschaften müssen Sie mit dem -O-Parameter angeben, dass es sich um eine Erweiterungseigenschaft handelt, und den Eigenschaftsnamen als letzten Parameter angeben. Für Erweiterungseigenschaften gibt der Befehl sowohl den Typ als auch den Wert der Eigenschaft an. Im Beispieldatendienst ruft das Testsignalprogramm zum Beispiel den Typ und den Wert der probe_timeout-Erweiterungseigenschaft ab und verwendet dann awk, um nur den Wert in der PROBE_TIMEOUT.-Shell-Variablen abzulegen:


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}'`