Verbinden Sie eine CMP-Anwendung mit einem Konfigurationsmanager, um Anforderungen bezüglich der Ressourcen in der Brokerdomäne zu senden.
Vorbereitungen:
Dieser Schritt setzt voraus, dass zunächst der unter Umgebung für das Entwickeln und Ausführen von Konfigurationsmanager-Proxy-Anwendungen konfigurieren beschriebene Schritt ausgeführt wurde.
import com.ibm.broker.config.proxy.*; public class ConfigManagerRunStateChecker { public static void main(String[] args) { displayConfigManagerRunState("localhost", 1414, ""); } public static void displayConfigManagerRunState(String hostname, int port, String qmgr) { ConfigManagerProxy cmp = null; try { ConfigManagerConnectionParameters cmcp = new MQConfigManagerConnectionParameters(hostname, port, qmgr); cmp = ConfigManagerProxy.getInstance(cmcp); String configManagerName = cmp.getName(); System.out.println("Configuration Manager '"+configManagerName+ "' is available!"); cmp.disconnect(); } catch (ConfigManagerProxyException ex) { System.out.println("Configuration Manager is NOT available"+ " because "+ex); } } }
In der ersten Zeile des Programms wird Java dazu aufgefordert, CMP-Klassen zu importieren. Alle CMP-Klassen befinden sich im Paket com.ibm.broker.config.proxy.
Die erste Zeile im 'try'-Block der Methode displayConfigManagerRunState() erstellt eine Instanz des Objekts ConfigManagerConnectionParameters. Hierbei handelt es sich um eine Schnittstelle, die angibt, dass die Implementierungsklassen die Parameter zum Herstellen einer Verbindung zu einem Konfigurationsmanager bereitstellen können.
Wenn Sie dieses Objekt definiert haben, können Sie mit diesen Kenndaten eine Verbindung zum WS-Manager herstellen. Dieser Verbindungsaufbau wird unter Verwendung der statischen Factory-Methode getInstance() innerhalb des try-Blocks ausgeführt. Sobald eine gültige Kennung für den Konfigurationsmanager empfangen worden ist, versucht die Anwendung, den Namen des Konfigurationsmanagers zu ermitteln (cmp.getName()) und anzuzeigen.
getName() und andere Methoden, mit denen Informationen vom Konfigurationsmanager angefordert werden, blockieren die Anwendung, bis die Informationen geliefert werden oder ein Zeitlimit überschritten ist. Dies bedeutet, dass die Anwendung für eine gewisse Zeit blockiert ist, wenn der Konfigurationsmanager inaktiv ist. Das Zeitlimit kann unter Verwendung der Methode ConfigManagerProxy.setRetryCharacteristics() gesteuert werden. Im Allgemeinen werden Ressourcen jedoch nur dann gesperrt, wenn auf eine bestimmte Ressource innerhalb einer Anwendung das erste Mal zugegriffen wird.
Zuletzt wird die Methode disconnect() aufgerufen. Mit dieser Methode werden Ressourcen, die mit der Verbindung im CMP und Konfigurationsmanager in Zusammenhang stehen, entsperrt.
Wenn eine Kennung für den Konfigurationsmanager-Proxy von der Methode getInstance() zurückgegeben wird, ist der Konfigurationsmanager-Service nicht unbedingt aktiv. Nur wenn die Anwendung versucht, die Kennung zu verwenden (in diesem Beispiel durch Aufruf der Methode getName()) kann davon ausgegangen werden, dass eine wechselseitige Verbindung zum Konfigurationsmanager aktiv ist.