public class JmxmpAgent
extends java.lang.Object
Listens on 11099 unless overridden by system property brooklyn.jmxmp.port.
Use the usual com.sun.management.jmxremote.ssl to enable both SSL _and_ authentication (setting brooklyn.jmxmp.ssl.authenticate false if you need to disable authentication for some reason); unless you disable client-side server authentication you will need to supply brooklyn.jmxmp.ssl.keyStore, and similarly unless server-side client auth is off you'll need the corresponding trustStore (both pointing to files on the local file system).
Service comes up on: service:jmx:jmxmp://${HOSTNAME}:${PORT}
 If RMI_REGISTRY_PORT_PROPERTY is also set, this agent will start a normal JMX/RMI server bound to
 all interfaces, which is contactable on:  service:jmx:rmi:///jndi/rmi://${HOSTNAME}:${RMI_REGISTRY_PORT}/jmxrmi 
 
NB: To use JConsole with this endpoing, you need the jmxremote_optional JAR, and the following command (even more complicated if using SSL): java -classpath $JAVA_HOME/lib/jconsole.jar:$HOME/.m2/repository/javax/management/jmxremote_optional/1.0.1_04/jmxremote_optional-1.0.1_04.jar sun.tools.jconsole.JConsole
| Modifier and Type | Field and Description | 
|---|---|
| static java.lang.String | AUTHENTICATE_CLIENTS_PROPERTYwhether to use SSL (TLS) certificates to authenticate the client; 
 requires a truststore to be set, and requires  USE_SSL_PROPERTYtrue 
 (different to 'com.sun.management.jmxremote.authenticate' because something else
 insists on intercepting that and uses it for passwords); 
 defaults to true iffUSE_SSL_PROPERTYis set because 
 who wouldn't want client authentication if you're encrypting the link | 
| static java.lang.String | JMX_SERVER_ADDRESS_WILDCARD_PROPERTYwhether JMX should bind to all interfaces | 
| static int | JMXMP_DEFAULT_PORT | 
| static java.lang.String | JMXMP_KEYSTORE_FILE_PROPERTY | 
| static java.lang.String | JMXMP_KEYSTORE_KEY_PASSWORD_PROPERTY | 
| static java.lang.String | JMXMP_KEYSTORE_PASSWORD_PROPERTY | 
| static java.lang.String | JMXMP_KEYSTORE_TYPE_PROPERTY | 
| static java.lang.String | JMXMP_PORT_PROPERTYport to listen on; default to  JMXMP_DEFAULT_PORT | 
| static java.lang.String | JMXMP_TRUSTSTORE_FILE_PROPERTY | 
| static java.lang.String | JMXMP_TRUSTSTORE_PASSWORD_PROPERTY | 
| static java.lang.String | JMXMP_TRUSTSTORE_TYPE_PROPERTY | 
| static java.lang.String | RMI_HOSTNAME_PROPERTYhostname to advertise, and if "jmx.remote.server.address.wildcard" is false also the hostname/interface to bind to | 
| static java.lang.String | RMI_REGISTRY_PORT_PROPERTYoptional port for RMI registry to listen on; if not supplied, RMI is disabled. | 
| static java.lang.String | TLS_JMX_REMOTE_PROFILES | 
| static java.lang.String | TLS_NEED_AUTHENTICATE_CLIENTS_PROPERTY | 
| static java.lang.String | TLS_SOCKET_FACTORY_PROPERTY | 
| static java.lang.String | TLS_WANT_AUTHENTICATE_CLIENTS_PROPERTY | 
| static java.lang.String | USE_SSL_PROPERTYwhether to use SSL (TLS) encryption; requires a keystore to be set | 
| Constructor and Description | 
|---|
| JmxmpAgent() | 
| Modifier and Type | Method and Description | 
|---|---|
| static void | agentmain(java.lang.String agentArgs) | 
| static void | doMain(java.lang.String agentArgs) | 
| static void | doMainForeground(java.lang.String agentArgs) | 
| static java.lang.String | getLocalhostHostname(java.util.Properties properties) | 
| static void | main(java.lang.String[] args) | 
| static javax.net.ssl.TrustManager | newInspectAllTrustManager(javax.net.ssl.X509TrustManager delegate) | 
| static void | premain(java.lang.String agentArgs) | 
| void | setSslEnvFromProperties(java.util.Map<java.lang.String,java.lang.Object> env,
                       java.util.Properties properties) | 
| java.util.List<javax.management.remote.JMXConnectorServer> | startConnectors(java.util.Properties properties) | 
| javax.management.remote.JMXConnectorServer | startJmxmpConnector(java.util.Properties properties) | 
| javax.management.remote.JMXConnectorServer | startNormalJmxRmiConnectorIfRequested(java.util.Properties properties)optionally starts a normal JMXRMI connector in addition | 
public static final java.lang.String JMXMP_PORT_PROPERTY
JMXMP_DEFAULT_PORTpublic static final java.lang.String RMI_HOSTNAME_PROPERTY
public static final java.lang.String JMX_SERVER_ADDRESS_WILDCARD_PROPERTY
public static final java.lang.String RMI_REGISTRY_PORT_PROPERTY
public static final java.lang.String USE_SSL_PROPERTY
public static final java.lang.String AUTHENTICATE_CLIENTS_PROPERTY
USE_SSL_PROPERTY true 
 (different to 'com.sun.management.jmxremote.authenticate' because something else
 insists on intercepting that and uses it for passwords); 
 defaults to true iff USE_SSL_PROPERTY is set because 
 who wouldn't want client authentication if you're encrypting the linkpublic static final java.lang.String JMXMP_KEYSTORE_FILE_PROPERTY
public static final java.lang.String JMXMP_KEYSTORE_PASSWORD_PROPERTY
public static final java.lang.String JMXMP_KEYSTORE_KEY_PASSWORD_PROPERTY
public static final java.lang.String JMXMP_KEYSTORE_TYPE_PROPERTY
public static final java.lang.String JMXMP_TRUSTSTORE_FILE_PROPERTY
public static final java.lang.String JMXMP_TRUSTSTORE_PASSWORD_PROPERTY
public static final java.lang.String JMXMP_TRUSTSTORE_TYPE_PROPERTY
public static final java.lang.String TLS_NEED_AUTHENTICATE_CLIENTS_PROPERTY
public static final java.lang.String TLS_WANT_AUTHENTICATE_CLIENTS_PROPERTY
public static final java.lang.String TLS_SOCKET_FACTORY_PROPERTY
public static final java.lang.String TLS_JMX_REMOTE_PROFILES
public static final int JMXMP_DEFAULT_PORT
public static void premain(java.lang.String agentArgs)
public static void agentmain(java.lang.String agentArgs)
public static void doMain(java.lang.String agentArgs)
public static void doMainForeground(java.lang.String agentArgs)
public java.util.List<javax.management.remote.JMXConnectorServer> startConnectors(java.util.Properties properties)
public javax.management.remote.JMXConnectorServer startJmxmpConnector(java.util.Properties properties)
public javax.management.remote.JMXConnectorServer startNormalJmxRmiConnectorIfRequested(java.util.Properties properties)
public static java.lang.String getLocalhostHostname(java.util.Properties properties)
                                             throws java.net.UnknownHostException
java.net.UnknownHostExceptionpublic void setSslEnvFromProperties(java.util.Map<java.lang.String,java.lang.Object> env,
                           java.util.Properties properties)
                             throws java.lang.Exception
java.lang.Exceptionpublic static final javax.net.ssl.TrustManager newInspectAllTrustManager(javax.net.ssl.X509TrustManager delegate)
public static void main(java.lang.String[] args)