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:
  • Field Details

  • 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