Verwenden Sie die CMP-API in
einem JavaCompute-Knoten, um Eigenschaften zur
Ausführungszeit dynamisch in konfigurierbaren Services, die Sie mit dem Typ UserDefined definiert
haben, abzufragen, festzulegen, zu erstellen und zu löschen.
Bevor Sie beginnen:Führen Sie die folgenden Aufgaben aus.
Wenn Sie einen konfigurierbaren Service des Typs UserDefined sowie
Eigenschaften für diesen Service erstellt haben, können Sie in einem
JavaCompute-Knoten mit diesen Eigenschaften arbeiten.
Beispielsweise können Sie einen konfigurierbaren Service des Typs UserDefined erstellen, um
Zeitlimits für die Verarbeitung von HTTP-Nachrichten festzulegen.
Sie können konfigurierbare
Services in JavaCompute-Knoten, im
WebSphere Message
Broker Explorer und mit den Befehlen
mqsicreateconfigurableservice und
mqsideleteconfigurableservice erstellen und löschen.
- Klicken Sie mit der rechten Maustaste auf den
JavaCompute-Knoten und klicken Sie dann auf
Open Java (Java öffnen), um in der Editoransicht eine
Java™-Datei zu erstellen und zu öffnen oder um eine vorhandene
Datei zu öffnen.
- Erstellen Sie die Java-Klasse für den Knoten, in dem Sie Konfigurationsmanager-Proxy-Methoden einfügen möchten.
- Fügen Sie die Konfigurationsmanager-Proxy-JAR-Datei
Installationsverzeichnis/classes/ConfigManagerProxy.jar
zum Java-Erstellungspfad des zugehörigen
Java-Projekts hinzu.
- Importieren Sie com.ibm.broker.config.proxy.* in Ihren Code.
- Fügen Sie folgende statische Methode zur gerade erstellten Klasse hinzu:
BrokerProxy b = BrokerProxy.getLocalInstance();
Diese Methode gibt eine Instanz des BrokerProxy-Objekts für den Broker zurück, in dem der
Nachrichtenfluss (der diesen Knoten enthält) implementiert ist.
- Um sicherzustellen, dass das BrokerProxy-Objekt vor dem Zugriff auf den konfigurierbaren Service mit Daten des Brokers gefüllt wurde, fügen Sie folgenden Code hinzu:
while(!b.hasBeenPopulatedByBroker()) { Thread.sleep(100); }
- Greifen Sie auf den geeigneten konfigurierbaren Service des Typs UserDefined zu:
- Wenn Sie den Namen des konfigurierbaren Service kennen, verwenden Sie folgenden Code für den
Zugriff:
ConfigurableService myUDCS = b.getConfigurableService("UserDefined", "UD1");
- Wenn Sie aus einer Gruppe von konfigurierbaren Services des Typs UserDefined auswählen
möchten, rufen Sie mit folgendem Code eine Liste aller Services eines bestimmten Typs ab:
ConfigurableService[] UD_set = b.getConfigurableServices("UserDefined");
- Fügen Sie weiteren Code hinzu, um auf die spezifischen Eigenschaften, an denen Sie
interessiert sind, zuzugreifen und sie zu verwenden. Beispiel:
- Rufen Sie die Eigenschaften ab, die für den Service definiert sind:
String[] props = myUDCS.getProperties();
- Erstellen Sie eine neue Eigenschaft:
String newprop = 'VerifyRequestTimeout';
String newval = '15';
myUDCS.setProperty(newprop, newval);
- Löschen Sie eine Eigenschaft:
myUDCS.deleteProperty(newprop);
Sie können
auch die Methode deleteProperties() verwenden, um mehrere Eigenschaften auf
einmal zu löschen.Eigenschaften können nur in konfigurierbaren Services des Typs UserDefined
gelöscht werden. Wenn Sie diese Methode für einen konfigurierbaren Service eines anderen Typs
verwenden, wird die Ausnahmebedingung ConfigManagerProxyLoggedException generiert.
- Implementieren Sie die JAR-Datei sowie alle zugehörigen Nachrichtenflüsse in einer
BAR-Datei. Sie müssen die Datei ConfigManagerProxy.jar nicht in der
Zielausführungsgruppe implementieren, da der Broker eigenständig auf diese
Klassen zugreifen kann.