org.apache.catalina.mbeans

## Class JmxRemoteLifecycleListener

- java.lang.Object
- - org.apache.catalina.mbeans.JmxRemoteLifecycleListener

All Implemented Interfaces:
  LifecycleListener

    public class JmxRemoteLifecycleListener
    extends Object
    implements LifecycleListener

This listener fixes the port used by JMX/RMI Server making things much simpler if you need to connect jconsole or similar to a remote Tomcat instance that is running behind a firewall. Only the ports are configured via the listener. The remainder of the configuration is via the standard system properties for configuring JMX.

### Nested Class Summary

Nested Classes
`static class` `JmxRemoteLifecycleListener.RmiClientLocalhostSocketFactory`
`static class` `JmxRemoteLifecycleListener.RmiServerBindSocketFactory`

### Field Summary

Fields
`protected String` `accessFile`
`protected boolean` `authenticate`
`protected String[]` `ciphers`
`protected boolean` `clientAuth`
`protected JMXConnectorServer` `csPlatform`
`protected String` `loginModuleName`
`protected String` `passwordFile`
`protected String[]` `protocols`
`protected String` `rmiBindAddress`
`protected int` `rmiRegistryPortPlatform`
`protected int` `rmiServerPortPlatform`
`protected boolean` `rmiSSL`
`protected static StringManager` `sm` The string resources for this package.
`protected boolean` `useLocalPorts`

### Constructor Summary

Constructors
Constructor and Description
`JmxRemoteLifecycleListener()`

### Method Summary

Methods
`String` `getRmiBindAddress()` Get the inet address on which the Platform RMI server is exported.
`int` `getRmiRegistryPortPlatform()` Get the port on which the Platform RMI registry is exported.
`int` `getRmiServerPortPlatform()` Get the port on which the Platform RMI server is exported.
`boolean` `getUseLocalPorts()` Get the flag that indicates that local ports should be used for all connections.
`void` `lifecycleEvent(LifecycleEvent event)` Acknowledge the occurrence of the specified event.
`void` `setRmiBindAddress(String theRmiBindAddress)` Set the inet address on which the Platform RMI server is exported.
`void` `setRmiRegistryPortPlatform(int theRmiRegistryPortPlatform)` Set the port on which the Platform RMI registry is exported.
`void` `setRmiServerPortPlatform(int theRmiServerPortPlatform)` Set the port on which the Platform RMI server is exported.
`void` `setUseLocalPorts(boolean useLocalPorts)` Set the flag that indicates that local ports should be used for all connections.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### sm

    protected static final StringManager sm

The string resources for this package.

#### rmiBindAddress

    protected String rmiBindAddress

#### rmiRegistryPortPlatform

    protected int rmiRegistryPortPlatform

#### rmiServerPortPlatform

    protected int rmiServerPortPlatform

#### rmiSSL

    protected boolean rmiSSL

#### ciphers

    protected String[] ciphers

#### protocols

    protected String[] protocols

#### clientAuth

    protected boolean clientAuth

#### authenticate

    protected boolean authenticate

#### passwordFile

    protected String passwordFile

#### loginModuleName

    protected String loginModuleName

#### accessFile

    protected String accessFile

#### useLocalPorts

    protected boolean useLocalPorts

#### csPlatform

    protected JMXConnectorServer csPlatform

### Constructor Detail

#### JmxRemoteLifecycleListener

    public JmxRemoteLifecycleListener()

### Method Detail

#### getRmiBindAddress

    public String getRmiBindAddress()

Get the inet address on which the Platform RMI server is exported.

Returns:
  The textual representation of inet address

#### setRmiBindAddress

    public void setRmiBindAddress(String theRmiBindAddress)

Set the inet address on which the Platform RMI server is exported.

Parameters:
  `theRmiBindAddress` - The textual representation of inet address

#### getRmiServerPortPlatform

    public int getRmiServerPortPlatform()

Get the port on which the Platform RMI server is exported. This is the port that is normally chosen by the RMI stack.

Returns:
  The port number

#### setRmiServerPortPlatform

    public void setRmiServerPortPlatform(int theRmiServerPortPlatform)

Set the port on which the Platform RMI server is exported. This is the port that is normally chosen by the RMI stack.

Parameters:
  `theRmiServerPortPlatform` - The port number

#### getRmiRegistryPortPlatform

    public int getRmiRegistryPortPlatform()

Get the port on which the Platform RMI registry is exported.

Returns:
  The port number

#### setRmiRegistryPortPlatform

    public void setRmiRegistryPortPlatform(int theRmiRegistryPortPlatform)

Set the port on which the Platform RMI registry is exported.

Parameters:
  `theRmiRegistryPortPlatform` - The port number

#### getUseLocalPorts

    public boolean getUseLocalPorts()

Get the flag that indicates that local ports should be used for all connections. If using SSH tunnels, or similar, this should be set to true to ensure the RMI client uses the tunnel.

Returns:
  `true` if local ports should be used

#### setUseLocalPorts

    public void setUseLocalPorts(boolean useLocalPorts)

Set the flag that indicates that local ports should be used for all connections. If using SSH tunnels, or similar, this should be set to true to ensure the RMI client uses the tunnel.

Parameters:
  `useLocalPorts` - Set to `true` if local ports should be used

#### lifecycleEvent

    public void lifecycleEvent(LifecycleEvent event)

Description copied from interface: `LifecycleListener`
Acknowledge the occurrence of the specified event.

Specified by:
  `lifecycleEvent` in interface `LifecycleListener`
Parameters:
  `event` - LifecycleEvent that has occurred