Beispiel für die Einrichtung einer JMX-Routing-Umgebung

Sie können Liberty verwenden, um JMX-MBeans (Java™ Management Extensions) in einem Verbundmember-Server über einen Verbundcontroller-Server aufzurufen.

Für verteilte PlattformenFür IBM i-PlattformenAnmerkung: Das Feature collectiveController-1.0 und seine Funktionen sind nur in WebSphere Application Server Network Deployment Liberty Und WebSphere Application Server for z/OS Liberty verfügbar. Das Feature ist in WebSphere Application Server Liberty oder WebSphere Application Server Liberty Core nicht verfügbar. Wenn Sie eine Installation mit WebSphere Application Server Network Deployment Liberty haben, können Sie das zugehörige Feature collectiveController-1.0 verwenden, um mit Verbundmembern aus WebSphere Application Server Liberty-, WebSphere Application Server - Express Liberty- oder WebSphere Application Server Liberty Core-Installationen zu arbeiten.

Mit dem Feature collectiveMember-1.0 kann ein Server über einen Verbundcontroller (Feature collectiveController-1.0) verwaltet werden. Nachdem ein Server so konfiguriert worden ist, dass er von einem Verbundcontroller verwaltet werden kann, können Sie alle MBeans im Verbundmember direkt über den Server des Verbundcontrollers aufrufen.

Es folgt ein Beispiel dafür, wie MBeans in einem Verbundmember über den Server eines Verbundcontrollers aufgerufen werden.

// Truststore für den Verbund-Controller-Server konfigurieren

    System.setProperty("javax.net.ssl.trustStore", "<trustStore for https connection to collective controller>");
    System.setProperty("javax.net.ssl.trustStorePassword", "<trustStore password>");

    Map<String, Object> environment = new HashMap<String, Object>();
    environment.put("jmx.remote.protocol.provider.pkgs", "com.ibm.ws.jmx.connector.client");
    environment.put(JMXConnector.CREDENTIALS, new String[] { "<username>", "<password>" });
    environment.put(ClientProvider.DISABLE_HOSTNAME_VERIFICATION, true);
    environment.put(ClientProvider.READ_TIMEOUT, 2 * 60 * 1000);

    JMXServiceURL url = new JMXServiceURL(
        "REST", "<hostname of collective controller server>", <https port>, "/IBMJMXConnectorREST");
    jmxConnector = JMXConnectorFactory.connect(url, environment);
    MBeanServerConnection exmbsc = jmxConnector.getMBeanServerConnection();

// Sie haben jetzt eine Verbindung vom Typ "MBeanServerConnection". Jetzt sind alle ihre MBean-Aufrufe im Verbund-Controller-Server.

// Die nächsten Codezeilen dienen der Konfiguration des Routing-Kontextes und haben den Zweck, alle Aufrufe an ein Verbundmember weiterzuleiten.

   ObjectName rmObjectName = new ObjectName(
       "WebSphere:feature=collectiveController,type=RoutingContext,name=RoutingContext");

// MBean "MBeanRoutingContext" aufrufen, um den Routing-Kontext zu konfigurieren.

    Object rcObj = connection.invoke(rmObjectName, "assignServerContext",
    new Object[] { 
        "<hostname of the collective member>", "<collective member server usr dir>", "<collective member server name>"
    },  

// Der verwaltete Server kann über das Benutzerverzeichnis und den Namen des
// Servers des Verbundmembers eindeutig auf einem Host identifiziert werden.

    new String[] { "java.lang.String", "java.lang.String", "java.lang.String" });

    if (rcObj instanceof Boolean) {
        Boolean result = (Boolean) rcObj;
    if (result.booleanValue()) {
       System.out.println("routing context is configured correctly");
       }
    Or if (!result.booleanValue()) {
       System.out.println("routing context result is false");
       }
    } else {
        System.out.println("failed to configure routing context");
    }
Wenn der Routing-Kontext ordnungsgemäß konfiguriert ist, werden alle künftigen Aufrufe von MBeanServerConnection an den Zielserver des Verbundmembers weitergeleitet.

Symbol das den Typ des Artikels anzeigt. Referenzartikel

Dateiname: rwlp_jmx_routing.html