Puede utilizar scripts basados en Jython para establecer una conexión de servidor de Liberty del MBean Java™ Management Extensions (JMX).
Antes de empezar
Debe obtener e instalar la versión Jython de su elección antes de poder realizar
este procedimiento. Sin un tiempo de ejecución de Jython, se producirá una error en las
instrucciones.
Procedimiento
- Configure el entorno.
Los archivos necesarios se encuentran en inicio_liberty/clients/jython.
- Copie el archivo lib/restConnector.py en
inicio_jython/Lib.
- Establezca la classpath de restConnector.jar en inicio_liberty/clients.
set CLASSPATH=%CLASSPATH%;c:\wlp\clients\restConnector.jar
- Ejecute el programa de utilidad.
Ejemplo 1: obtención de una conexión simple utilizando
connector.connect(host,port,user,password) from restConnector import JMXRESTConnector
JMXRESTConnector.trustStore = "c:/key.jks"
JMXRESTConnector.trustStorePassword = "Liberty"
connector = JMXRESTConnector()
connector.connect("foo.bar.com",9443,"theUser","thePassword")
mconnection = connector.getMBeanServerConnection()
# mconnection.invoke(...)
connector.disconnect()
Ejemplo 2: obtención de una conexión avanzada
utilizando
connector.connect(host,port,map) con las propiedades
proporcionadas por el usuario
import java
import javax
import jarray
import com.ibm.websphere.jmx.connector.rest
import com.ibm.ws.jmx.connector.client.rest
map=java.util.HashMap()
map.put("jmx.remote.provider.pkgs","com.ibm.ws.jmx.connector.client")
map.put(javax.management.remote.JMXConnector.CREDENTIALS,jarray.array(["theUser","thePassword"],java.lang.String))
map.put(com.ibm.ws.jmx.connector.client.rest.ClientProvider.READ_TIMEOUT,2*60*1000)
map.put(com.ibm.websphere.jmx.connector.rest.ConnectorSettings.DISABLE_HOSTNAME_VERIFICATION, True)
connector = JMXRESTConnector()
connector.connect("foo.bar.com",9443,map)
mconnection = connector.getMBeanServerConnection()
# mconnection.invoke(...)
connector.disconnect()
Ejemplo 3: registro de escucha de notificación
import java
import javax
from restConnector import JMXRESTConnector
from restConnector import BaseNotificationListener
class SampleNotificationListener(BaseNotificationListener):
def __init__(self):
pass
def handleNotification(self,notification,handback):
print "Notification received:"
print " Source: " + notification.getSource().toString()
print " Type: " + notification.getType()
print " Message: " + notification.getMessage()
# principal empieza aquí
JMXRESTConnector.trustStore = "c:/key.jks"
JMXRESTConnector.trustStorePassword = "Liberty"
connector=JMXRESTConnector()
connector.connect("foo.bar.com",9443,"theUser","thePassword")
mconnection=connector.getMBeanServerConnection()
listener=SampleNotificationListener()
handback=java.lang.Object()
notifier1=javax.management.ObjectName("web:name=Notifier1")
mconnection.addNotificationListener(notifier1,listener,None,handback)
- JMXRESTConnector.trustStore
- Establece la vía de acceso donde está almacenado el archivo de claves SSL
- JMXRESTConnector.trustStorePassword
- Establece la contraseña de la clave
- JMXRESTConnector.connect(host,puerto,usuario,contraseña)
- Crea un conector al servidor
- JMXRESTConnector.connect(host,puerto,correlación)
- Crea un conector con propiedades de usuario
- JMXRESTConnector.getMBeanServerConnection
- Obtiene una conexión al servidor de MBean
- JMXRESTConnector.disconnect()
- Cierra la conexión
Qué hacer a continuación
Después de que se establece una conexión al servidor de MBean, puede realizar
llamadas a dicho servidor mediante el método invoke(...). .