Package org.springframework.jmx.support

# Class ConnectorServerFactoryBean

java.lang.Object
org.springframework.jmx.support.MBeanRegistrationSupport
org.springframework.jmx.support.ConnectorServerFactoryBean

All Implemented Interfaces:
  `org.springframework.beans.factory.DisposableBean`, `org.springframework.beans.factory.FactoryBean<JMXConnectorServer>`, `org.springframework.beans.factory.InitializingBean`

public class ConnectorServerFactoryBean extends MBeanRegistrationSupport implements org.springframework.beans.factory.FactoryBean<JMXConnectorServer>, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.DisposableBean
`FactoryBean` that creates a JSR-160 `JMXConnectorServer`, optionally registers it with the `MBeanServer`, and then starts it.

The `JMXConnectorServer` can be started in a separate thread by setting the `threaded` property to `true`. You can configure this thread to be a daemon thread by setting the `daemon` property to `true`.

The `JMXConnectorServer` is correctly shut down when an instance of this class is destroyed on shutdown of the containing `ApplicationContext`.

Since:
  1.2
Author:
  Rob Harrop, Juergen Hoeller
See Also:
  - `JMXConnectorServer`
  - `MBeanServer`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`DEFAULT_SERVICE_URL`
The default service URL.

### Fields inherited from class org.springframework.jmx.support.MBeanRegistrationSupport

`logger, server`

### Fields inherited from interface org.springframework.beans.factory.FactoryBean

`OBJECT_TYPE_ATTRIBUTE`

## Constructor Summary

Constructors
Constructor
Description
`ConnectorServerFactoryBean()`

## Method Summary

Modifier and Type
Method
Description
`void`
`afterPropertiesSet()`
Start the connector server.
`void`
`destroy()`
Stop the `JMXConnectorServer` managed by an instance of this class.
`JMXConnectorServer`
`getObject()`
`Class<? extends JMXConnectorServer>`
`getObjectType()`
`boolean`
`isSingleton()`
`void`
`setDaemon(boolean daemon)`
Set whether any threads started for the `JMXConnectorServer` should be started as daemon threads.
`void`
`setEnvironment(Properties environment)`
Set the environment properties used to construct the `JMXConnectorServer` as `java.util.Properties` (String key/value pairs).
`void`
`setEnvironmentMap(Map<String,?> environment)`
Set the environment properties used to construct the `JMXConnector` as a `Map` of String keys and arbitrary Object values.
`void`
`setForwarder(MBeanServerForwarder forwarder)`
Set an MBeanServerForwarder to be applied to the `JMXConnectorServer`.
`void`
`setObjectName(Object objectName)`
Set the `ObjectName` used to register the `JMXConnectorServer` itself with the `MBeanServer`, as `ObjectName` instance or as `String`.
`void`
`setServiceUrl(String serviceUrl)`
Set the service URL for the `JMXConnectorServer`.
`void`
`setThreaded(boolean threaded)`
Set whether the `JMXConnectorServer` should be started in a separate thread.

### Methods inherited from class org.springframework.jmx.support.MBeanRegistrationSupport

`doRegister, doUnregister, getRegisteredObjectNames, getServer, onRegister, onRegister, onUnregister, setRegistrationPolicy, setServer, unregisterBeans`

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

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

## Field Details

### DEFAULT_SERVICE_URL

public static final String DEFAULT_SERVICE_URL
The default service URL.

See Also:
  - Constant Field Values

## Constructor Details

### ConnectorServerFactoryBean

public ConnectorServerFactoryBean()

## Method Details

### setServiceUrl

public void setServiceUrl(String serviceUrl)
Set the service URL for the `JMXConnectorServer`.

### setEnvironment

public void setEnvironment(@Nullable Properties environment)
Set the environment properties used to construct the `JMXConnectorServer` as `java.util.Properties` (String key/value pairs).

### setEnvironmentMap

public void setEnvironmentMap(@Nullable Map<String,?> environment)
Set the environment properties used to construct the `JMXConnector` as a `Map` of String keys and arbitrary Object values.

### setForwarder

public void setForwarder(MBeanServerForwarder forwarder)
Set an MBeanServerForwarder to be applied to the `JMXConnectorServer`.

### setObjectName

public void setObjectName(Object objectName) throws MalformedObjectNameException
Set the `ObjectName` used to register the `JMXConnectorServer` itself with the `MBeanServer`, as `ObjectName` instance or as `String`.

Throws:
  `MalformedObjectNameException` - if the `ObjectName` is malformed

### setThreaded

public void setThreaded(boolean threaded)
Set whether the `JMXConnectorServer` should be started in a separate thread.

### setDaemon

public void setDaemon(boolean daemon)
Set whether any threads started for the `JMXConnectorServer` should be started as daemon threads.

### afterPropertiesSet

public void afterPropertiesSet() throws JMException, IOException
Start the connector server. If the `threaded` flag is set to `true`, the `JMXConnectorServer` will be started in a separate thread. If the `daemon` flag is set to `true`, that thread will be started as a daemon thread.

Specified by:
  `afterPropertiesSet` in interface `org.springframework.beans.factory.InitializingBean`
Throws:
  `JMException` - if a problem occurred when registering the connector server with the `MBeanServer`
  `IOException` - if there is a problem starting the connector server

### getObject

@Nullable public JMXConnectorServer getObject()

Specified by:
  `getObject` in interface `org.springframework.beans.factory.FactoryBean<JMXConnectorServer>`

### getObjectType

public Class<? extends JMXConnectorServer> getObjectType()

Specified by:
  `getObjectType` in interface `org.springframework.beans.factory.FactoryBean<JMXConnectorServer>`

### isSingleton

public boolean isSingleton()

Specified by:
  `isSingleton` in interface `org.springframework.beans.factory.FactoryBean<JMXConnectorServer>`

### destroy

public void destroy() throws IOException
Stop the `JMXConnectorServer` managed by an instance of this class. Automatically called on `ApplicationContext` shutdown.

Specified by:
  `destroy` in interface `org.springframework.beans.factory.DisposableBean`
Throws:
  `IOException` - if there is an error stopping the connector server