WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

Verbindung zu einem Broker aus einer Konfigurationsmanager-Proxy-Anwendung herstellen

Verbinden Sie eine Anwendung, die die CMP-API verwendet, mit einem Broker, um Anforderungen zu seinem Status und seinen Ressourcen zu senden.

Vor dem Start

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.

Nehmen wir als Beispiel das Programm BrokerRunStateChecker.java. Es stellt eine Verbindung zu einem Broker her, der unter dem Standard-WS-Manager des lokalen Computers ausgeführt wird.

import com.ibm.broker.config.proxy.*;

public class BrokerRunStateChecker {

    public static void main(String[] args) {

	    		    	// The ip address of where the broker is running
  		  			  	// and the port number of the queue manager listener.
        displayBrokerRunState("localhost", 2414, "");
    }

    public static void displayBrokerRunState(String hostname,
                                             int port,
                                             String qmgr) {
        BrokerProxy b = null;
        try {
            BrokerConnectionParameters bcp =
                new MQBrokerConnectionParameters(hostname, port, qmgr);
            b = BrokerProxy.getInstance(bcp);
            String brokerName = b.getName();
            
            System.out.println("Broker '"+brokerName+
                "' is available!");
            b.disconnect();
        } catch (ConfigManagerProxyException ex) {
            System.out.println("Broker is NOT available"+
                " because "+ex);
        }
    }
}

In der ersten Zeile des Programms wird Java™ aufgefordert, CMP-API-Klassen zu importieren, die im Paket com.ibm.broker.config.proxy bereitgestellt werden.

Die erste Codezeile im try-Block der displayBrokerRunState()-Methode erstellt eine Instanz des Objekts BrokerConnectionParameters. Hierbei handelt es sich um eine Schnittstelle, die angibt, dass die Implementierungsklassen die Parameter zum Herstellen einer Verbindung zu einem Broker bereitstellen können.

Diese Schnittstelle wird durch die Klasse MQBrokerConnectionParameters implementiert. Sie definiert eine Gruppe von WebSphere MQ-Verbindungsparametern. Der hier verwendete Konstruktor enthält drei Parameter:
  1. Den Hostnamen des Computers, auf dem der Broker ausgeführt wird
  2. Den Port, an dem der WebSphere MQ-Listener-Service des Brokers empfangsbereit ist
  3. Den Namen des dem Broker zugeordneten WS-Managers

Nach der Definition dieses Objekts können Sie eine Verbindung zu dem WS-Manager herstellen, der durch diese Kenndaten definiert ist. Dieser Verbindungsaufbau wird unter Verwendung der statischen Factory-Methode getInstance() innerhalb des try-Blocks ausgeführt. Sobald eine gültige Kennung für den WS-Manager zurückgegeben wird, fordert die Anwendung mittels b.getName() den Namen des Brokers an und zeigt ihn an.

getName() und andere Methoden, mit denen Informationen vom Broker 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 Broker inaktiv ist. Das Zeitlimit kann mit der Methode BrokerProxy.setRetryCharacteristics() festgelegt werden. Im Allgemeinen werden Ressourcen jedoch nur dann gesperrt, wenn auf eine bestimmte Ressource innerhalb einer Anwendung das erste Mal zugegriffen wird.

Zum Schluss ruft das Programm die Methode disconnect() auf. Durch diese Methode werden die von der Verbindung belegten Ressourcen sowohl in der Konfigurationsmanager-Proxy als auch auf dem Broker freigegeben.

Wenn von der getInstance()-Methode eine BrokerProxy-Kennung zurückgegeben wird, ist der Brokerservice nicht unbedingt aktiv. Nur wenn die Anwendung die Kennung verwendet (in diesem Beispiel durch Aufruf der Methode getName()), kann davon ausgegangen werden, dass eine wechselseitige Verbindung zum Broker aktiv ist.

Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:22:53


TaskthemaTaskthema | Version 8.0.0.5 | be43130_