123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- The script in this directory provides a utility for establishing a Liberty
- JMX MBean server connection. This has been tested for Jython 2.5.3.
- 1) Environment set up
- a. Set the classpath to include the restConnector.jar
- e.g) WINDOWS
- set CLASSPATH=${wlp.install.dir}\clients\restConnector.jar
- e.g) LINUX / UNIX
- export CLASSPATH=${wlp.install.dir}/clients/restConnector.jar
- b. Set the jython path to include the restConnector.py
- e.g) WINDOWS
- set JYTHONPATH=${wlp.install.dir}\clients\jython\restConnector.py
- e.g) LINUX / UNIX
- export JYTHONPATH=${wlp.install.dir}/clients/jython/restConnector.py
- 2) Examples
- The following two examples show how to get a Liberty JMX MBean server
- connection using the utility:
- Example 1 - Simple connection using 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()
- Example 2 - Advanced connection using connector.connect(host,port,map) with
- user provided properties
- 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.websphere.jmx.connector.rest.ConnectorSettings.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()
- The following example shows how to register a notification listener:
- Example 3 - Notification listener
- 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()
- # main starts here
- 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)
- 3) API
- * JMXRESTConnector.trustStore - Set the path to the SSL key store file
- * JMXRESTConnector.trustStorePassword - Set the password for the key
- * JMXRESTConnector.connect(host,port,user,password) - Create a connector to the server
- * JMXRESTConnector.connect(host,port,map) - Create a connector with user properties
- * JMXRESTConnector.getMBeanServerConnection - Get a connection to the MBean server
- * JMXRESTConnector.disconnect() - Close the connection
- For more info, refer to the InfoCenter "Establishing a JMX MBean Liberty server connection"
|