Ejemplo de configuración de un entorno de direccionamiento JMX

Puede utilizar Liberty para llamar a beans de gestión (MBeans) de Java™ Management Extensions (JMX) en un servidor miembro de colectivo a través de un servidor de controlador colectivo.

La característica collectiveMember-1.0 permite que un controlador de colectivo gestione los servidores (la característica collectiveController-1.0). Después de que un servidor se configura para que lo gestione un controlador de colectivo, puede llamar directamente a cualquier MBean del miembro de colectivo mediante el servidor del controlador de colectivo.

A continuación se muestra un ejemplo de cómo llamar a los MBean en un miembro de colectivo mediante un servidor de controlador de colectivo.

// Configurar un almacén de confianza para el servidor del controlador de colectivo.

    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();

// Ahora tendrá una MBeanServerConnection; en este punto, sin embargo, todas las llamadas al MBean 
// están en el servidor del controlador de colectivo.

// Las líneas de código siguientes son para configurar el contexto de direccionamiento de modo que todas las llamadas 
// se pueden dirigir a un miembro de colectivo.

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

// Llamar al bean gestionado MBeanRoutingContext para configurar el contexto de direccionamiento.

    Object rcObj = connection.invoke(rmObjectName, "assignServerContext",
    new Object[] { 
        "<nombre de host del miembro de colectivo>", "<collective
member server usr dir>", "<nombre de servidor de miembro
de colectivo>"
    },  

// Con el directorio usr del servidor de miembro de colectivo y el nombre de servidor del miembro de colectivo, 
// el servidor gestionado se puede identificar de forma única en un host.

    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("el contexto de direccionamiento se ha configurado correctamente");
       }
    Or if (!result.booleanValue()) {
       System.out.println("el resultado del contexto de direccionamiento es false");
       }
    } else {
        System.out.println("no se ha podido configurar el contexto de direccionamiento");
    }
Si el contexto de direccionamiento se ha configurado correctamente, todas las llamadas futuras de este MBeanServerConnection se direccionan al servidor de miembro de colectivo de destino.

Icono que indica el tipo de tema Tema de referencia

Nombre de archivo: rwlp_jmx_routing.html