Package com.tangosol.net.management
Class MBeanConnector
- java.lang.Object
-
- com.tangosol.util.Base
-
- com.tangosol.net.management.MBeanHelper
-
- com.tangosol.net.management.MBeanConnector
-
public class MBeanConnector extends MBeanHelper
Utility class to expose Coherence JMX MBeans via the Sun JMX reference implementation HtmlAdaptorServer or a JMX RemoteJMXConnectorServer
.In order to use this class, the following system property may need to be set on the monitored cluster nodes (i.e. cache servers):
-Dcoherence.management.remote=true
The following properties may be used for configuration of the monitoring node:Monitoring properties coherence.management Specifies if a cluster node's JVM has an in-process MBeanServer and if this node allows management of other nodes' managed objects. Use all to specify management of this and all other remotely manageable cluster nodes coherence.management.remote.host The host that the JMX server will bind to. Default is localhost. coherence.management.remote.registryport The port used for the JMX RMI registry. Default is 9000. coherence.management.remote.connectionport The port used for the JMX RMI connection. Default is ephemeral. coherence.management.remote.httpport The port used for the HTTP connection. Default is 8888. - Since:
- Coherence 3.3
- Author:
- pperalta 2007.02.01
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.tangosol.net.management.MBeanHelper
MBeanHelper.QueryExpFilter
-
Nested classes/interfaces inherited from class com.tangosol.util.Base
Base.LoggingWriter
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_HTTP_PORT
Default HTTP port (8888).static int
DEFAULT_RMI_CONNECTION_PORT
Default RMI connection port (0 ephemeral).static String
DEFAULT_RMI_HOST
Default RMI host (wildcard).static int
DEFAULT_RMI_REGISTRY_PORT
Default RMI registry port (9000).static String
HELP_COMMAND_LINE_ARG
Command line argument used to output usage.static String
HTTP_COMMAND_LINE_ARG
Command line argument to start HTTP server.static String
HTTP_PORT_PROPERTY
Property name to specify HTTP port.static String
RMI_COMMAND_LINE_ARG
Command line argument to start RMI server.static String
RMI_CONNECTION_PORT_ADJUST_PROPERTY
Property name to specify RMI connection max port.static String
RMI_CONNECTION_PORT_PROPERTY
Property name to specify RMI connection port.static String
RMI_CUSTOM_AUTHENTICATOR_PROPERTY
Property name to specify custom RMI Authenticator.static String
RMI_HOST_PROPERTY
Property name to specify the RMI host.static String
RMI_REGISTRY_PORT_PROPERTY
Property name to specify RMI registry port.static String[]
VALID_COMMANDS
Array that contains all valid command line arguments.-
Fields inherited from class com.tangosol.net.management.MBeanHelper
SCALAR_SIMPLETYPES, SCALAR_TYPES
-
-
Constructor Summary
Constructors Constructor Description MBeanConnector()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static int
getConnectionPort()
Get the configured connection port for the RMI Connector Server.static int
getConnectionPortMax()
Get the max configured connection port for the RMI Connector Server.static String
getHostName()
Get the configured host name for the RMI Connector Server.static int
getRegistryPort()
Get the configured registry port for the RMI Connector Server.static Map
getRMIConnectorAttributes()
Get the attributes for the RMI Connector Server.static void
main(String[] asArg)
Start a Coherence cluster node that enables JMX agents such as a web browser or JConsole to connect to the in-process JMX MBeanServer and manage Coherence MBeans.static void
showUsage()
Output usage instructions.void
start(boolean fRmi, boolean fHttp)
Start the RMI and/or HTTP agents.Object
startHttpConnector()
Starts the HTTP connector using the values of the HTTP_* system properties.JMXConnectorServer
startRmiConnector()
Starts the RMI connector using the values of the RMI_* system properties.-
Methods inherited from class com.tangosol.net.management.MBeanHelper
checkReadOnly, compareKeyList, createMapAdapterMbean, ensureDomain, ensureSingletonMBean, findJMXServiceUrl, findMBeanServer, findMBeanServer, findMBeanServer, findMethod, findMethod, getDefaultDomain, getDescription, getDescription, getDescription, getNotificationInfo, getParameterAnnotation, getParameterName, getSubscriberGroupMBeanName, getSubscriberMBeanName, getSubscriberMBeanPattern, getSubscriberMBeanPattern, getTopicMBeanName, getTopicMBeanPattern, getTopicMBeanPattern, hasDomain, isNonMemberMBean, isQuoteRequired, isQuoteRequired, quote, quote, quoteCanonical, registerCacheMBean, registerCacheMBean, registerPagedTopicMBean, registerQueryMBeans, registerSubscriberGroupMBean, registerSubscriberMBean, registerViewMBean, registerViewMBean, safeUnquote, startHttpConnector, startRmiConnector, stripDomain, unquote, unregisterCacheMBean, unregisterCacheMBean, unregisterCacheMBean, unregisterCacheMBean, unregisterCacheMBean, unregisterCacheMBean, unregisterPagedTopicMBean, unregisterPagedTopicMBean, unregisterSubscriberGroupMBean, unregisterSubscriberMBean, unregisterViewMBean, unregisterViewMBean
-
Methods inherited from class com.tangosol.util.Base
azzert, azzert, azzert, azzertFailed, breakLines, breakLines, capitalize, checkNotEmpty, checkNotNull, checkRange, computeSafeWaitTime, decimalValue, dup, dup, ensureBigDecimal, ensureClassLoader, ensureRuntimeException, ensureRuntimeException, equals, equalsDeep, err, err, err, err, err, escape, formatDateTime, getCallerStackFrame, getCommonMonitor, getCommonMonitor, getCommonMonitor, getContextClassLoader, getContextClassLoader, getDeepMessage, getErr, getLastSafeTimeMillis, getLog, getMaxDecDigits, getMaxHexDigits, getOriginalException, getOut, getProcessRandom, getRandom, getRandomBinary, getRandomBinary, getRandomString, getSafeTimeMillis, getStackFrame, getStackFrames, getStackTrace, getStackTrace, getStackTrace, getThreadFactory, getTimeZone, getUpTimeMillis, hashCode, hexValue, indentString, indentString, isDecimal, isHex, isLogEcho, isOctal, log, log, log, log, log, makeInteger, makeLong, makeThread, mergeArray, mergeBooleanArray, mergeByteArray, mergeCharArray, mergeDoubleArray, mergeFloatArray, mergeIntArray, mergeLongArray, mod, mod, octalValue, out, out, out, out, out, pad, parseBandwidth, parseBandwidth, parseDelimitedString, parseHex, parseHex, parseMemorySize, parseMemorySize, parsePercentage, parseTime, parseTime, parseTimeNanos, parseTimeNanos, printStackTrace, randomize, randomize, randomize, randomize, read, read, read, read, read, read, read, replace, setErr, setLog, setLogEcho, setOut, sleep, toBandwidthString, toBandwidthString, toCharEscape, toCrc, toCrc, toCrc, toCrc, toCrc, toDecString, toDelimitedString, toDelimitedString, toDelimitedString, toDelimitedString, toHex, toHex, toHexDump, toHexEscape, toHexEscape, toHexEscape, toHexEscape, toHexString, toMemorySizeString, toMemorySizeString, toQuotedCharEscape, toQuotedStringEscape, toSqlString, toString, toString, toStringEscape, toUnicodeEscape, trace, trace, trace, trace, trace, trace, trace, trace, trace, truncateString, truncateString, wait
-
-
-
-
Field Detail
-
HELP_COMMAND_LINE_ARG
public static final String HELP_COMMAND_LINE_ARG
Command line argument used to output usage.- See Also:
- Constant Field Values
-
RMI_COMMAND_LINE_ARG
public static final String RMI_COMMAND_LINE_ARG
Command line argument to start RMI server.- See Also:
- Constant Field Values
-
HTTP_COMMAND_LINE_ARG
public static final String HTTP_COMMAND_LINE_ARG
Command line argument to start HTTP server.- See Also:
- Constant Field Values
-
VALID_COMMANDS
public static final String[] VALID_COMMANDS
Array that contains all valid command line arguments.
-
RMI_HOST_PROPERTY
public static final String RMI_HOST_PROPERTY
Property name to specify the RMI host.- See Also:
- Constant Field Values
-
RMI_CONNECTION_PORT_PROPERTY
public static final String RMI_CONNECTION_PORT_PROPERTY
Property name to specify RMI connection port.- See Also:
- Constant Field Values
-
RMI_CONNECTION_PORT_ADJUST_PROPERTY
public static final String RMI_CONNECTION_PORT_ADJUST_PROPERTY
Property name to specify RMI connection max port.- See Also:
- Constant Field Values
-
RMI_REGISTRY_PORT_PROPERTY
public static final String RMI_REGISTRY_PORT_PROPERTY
Property name to specify RMI registry port.- See Also:
- Constant Field Values
-
RMI_CUSTOM_AUTHENTICATOR_PROPERTY
public static final String RMI_CUSTOM_AUTHENTICATOR_PROPERTY
Property name to specify custom RMI Authenticator.- See Also:
- Constant Field Values
-
HTTP_PORT_PROPERTY
public static final String HTTP_PORT_PROPERTY
Property name to specify HTTP port.- See Also:
- Constant Field Values
-
DEFAULT_RMI_HOST
public static final String DEFAULT_RMI_HOST
Default RMI host (wildcard).- See Also:
- Constant Field Values
-
DEFAULT_RMI_CONNECTION_PORT
public static final int DEFAULT_RMI_CONNECTION_PORT
Default RMI connection port (0 ephemeral).- See Also:
- Constant Field Values
-
DEFAULT_RMI_REGISTRY_PORT
public static final int DEFAULT_RMI_REGISTRY_PORT
Default RMI registry port (9000).- See Also:
- Constant Field Values
-
DEFAULT_HTTP_PORT
public static final int DEFAULT_HTTP_PORT
Default HTTP port (8888).- See Also:
- Constant Field Values
-
-
Method Detail
-
main
public static void main(String[] asArg) throws Exception
Start a Coherence cluster node that enables JMX agents such as a web browser or JConsole to connect to the in-process JMX MBeanServer and manage Coherence MBeans.Command line usage:
java com.tangosol.net.management.MBeanConnector [-rmi] and/or [-http]
Use the following command to connect via JConsole when using the -rmi flag:
jconsole service:jmx:rmi://[host]:[RMI Connection port]/jndi/rmi://[host]:[RMI Registry port]/server
To connect via a web browser when using the -http flag:
http://[host]:[HTTP port]
- Parameters:
asArg
- the command line arguments- Throws:
Exception
- if an error occurs
-
start
public void start(boolean fRmi, boolean fHttp)
Start the RMI and/or HTTP agents.- Parameters:
fRmi
- if true starts the RMI agentfHttp
- if true starts the HTTP agent
-
startRmiConnector
public JMXConnectorServer startRmiConnector() throws IOException
Starts the RMI connector using the values of the RMI_* system properties.- Returns:
- a JMXConnectorServer that has been started
- Throws:
IOException
- if an I/O error occurs- See Also:
MBeanHelper.startRmiConnector(String, int, int, MBeanServer, Map)
,RMI_HOST_PROPERTY
,RMI_REGISTRY_PORT_PROPERTY
,RMI_CONNECTION_PORT_PROPERTY
,DEFAULT_RMI_HOST
,DEFAULT_RMI_REGISTRY_PORT
,DEFAULT_RMI_CONNECTION_PORT
-
getHostName
public static String getHostName()
Get the configured host name for the RMI Connector Server.- Returns:
- the configured host name for the RMI Connector Server
-
getRegistryPort
public static int getRegistryPort()
Get the configured registry port for the RMI Connector Server.- Returns:
- the configured registry port for the RMI Connector Server
-
getConnectionPort
public static int getConnectionPort()
Get the configured connection port for the RMI Connector Server.- Returns:
- the configured connection port for the RMI Connector Server
-
getConnectionPortMax
public static int getConnectionPortMax()
Get the max configured connection port for the RMI Connector Server.- Returns:
- the max configured connection port for the RMI Connector Server
-
getRMIConnectorAttributes
public static Map getRMIConnectorAttributes()
Get the attributes for the RMI Connector Server.- Returns:
- a set of attributes to control the RMI connector server's behavior
-
startHttpConnector
public Object startHttpConnector()
Starts the HTTP connector using the values of the HTTP_* system properties.- Returns:
- a com.sun.jdmk.comm.HtmlAdaptorServer that has been started
- See Also:
MBeanHelper.startHttpConnector(int, MBeanServer)
,HTTP_PORT_PROPERTY
,DEFAULT_HTTP_PORT
-
showUsage
public static void showUsage()
Output usage instructions.
-
-