Save This Page
Home » spring-framework-2.5.6-with-dependencies » org.springframework » jmx » access » [javadoc | source]
org.springframework.jmx.access
public class: MBeanClientInterceptor [javadoc | source]
java.lang.Object
   org.springframework.jmx.access.MBeanClientInterceptor

All Implemented Interfaces:
    BeanClassLoaderAware, DisposableBean, org.aopalliance.intercept.MethodInterceptor, InitializingBean

Direct Known Subclasses:
    MBeanProxyFactoryBean

org.aopalliance.intercept.MethodInterceptor that routes calls to an MBean running on the supplied MBeanServerConnection. Works for both local and remote MBeanServerConnections.

By default, the MBeanClientInterceptor will connect to the MBeanServer and cache MBean metadata at startup. This can be undesirable when running against a remote MBeanServer that may not be running when the application starts. Through setting the connectOnStartup property to "false", you can defer this process until the first invocation against the proxy.

Requires JMX 1.2's MBeanServerConnection feature. As a consequence, this class will not work on JMX 1.0.

This functionality is usually used through MBeanProxyFactoryBean . See the javadoc of that class for more information.

Field Summary
protected final  Log logger    Logger available to subclasses 
Method from org.springframework.jmx.access.MBeanClientInterceptor Summary:
afterPropertiesSet,   convertResultValueIfNecessary,   destroy,   doInvoke,   getEnvironment,   getManagementInterface,   handleConnectFailure,   invoke,   isPrepared,   prepare,   setAgentId,   setBeanClassLoader,   setConnectOnStartup,   setEnvironment,   setManagementInterface,   setObjectName,   setRefreshOnConnectFailure,   setServer,   setServiceUrl,   setUseStrictCasing
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.springframework.jmx.access.MBeanClientInterceptor Detail:
 public  void afterPropertiesSet() 
    Prepares the MBeanServerConnection if the "connectOnStartup" is turned on (which it is by default).
 protected Object convertResultValueIfNecessary(Object result,
    Class targetClass) 
    Convert the given result object (from attribute access or operation invocation) to the specified target class for returning from the proxy method.
 public  void destroy() 
 protected Object doInvoke(MethodInvocation invocation) throws Throwable 
    Route the invocation to the configured managed resource. Correctly routes JavaBean property access to MBeanServerConnection.get/setAttribute and method invocation to MBeanServerConnection.invoke.
 public Map getEnvironment() 
    Allow Map access to the environment to be set for the connector, with the option to add or override specific entries.

    Useful for specifying entries directly, for example via "environment[myKey]". This is particularly useful for adding or overriding entries in child bean definitions.

 protected final Class getManagementInterface() 
    Return the management interface of the target MBean, or null if none specified.
 protected Object handleConnectFailure(MethodInvocation invocation,
    Exception ex) throws Throwable 
    Refresh the connection and retry the MBean invocation if possible.

    If not configured to refresh on connect failure, this method simply rethrows the original exception.

 public Object invoke(MethodInvocation invocation) throws Throwable 
    Route the invocation to the configured managed resource..
 protected boolean isPrepared() 
    Return whether this client interceptor has already been prepared, i.e. has already looked up the server and cached all metadata.
 public  void prepare() 
    Ensures that an MBeanServerConnection is configured and attempts to detect a local connection if one is not supplied.
 public  void setAgentId(String agentId) 
    Set the agent id of the MBeanServer to locate.

    Default is none. If specified, this will result in an attempt being made to locate the attendant MBeanServer, unless the "serviceUrl" property has been set.

 public  void setBeanClassLoader(ClassLoader beanClassLoader) 
 public  void setConnectOnStartup(boolean connectOnStartup) 
    Set whether or not the proxy should connect to the MBeanServer at creation time ("true") or the first time it is invoked ("false"). Default is "true".
 public  void setEnvironment(Map environment) 
    Specify the environment for the JMX connector.
 public  void setManagementInterface(Class managementInterface) 
    Set the management interface of the target MBean, exposing bean property setters and getters for MBean attributes and conventional Java methods for MBean operations.
 public  void setObjectName(Object objectName) throws MalformedObjectNameException 
    Set the ObjectName of the MBean which calls are routed to, as ObjectName instance or as String.
 public  void setRefreshOnConnectFailure(boolean refreshOnConnectFailure) 
    Set whether to refresh the MBeanServer connection on connect failure. Default is "false".

    Can be turned on to allow for hot restart of the JMX server, automatically reconnecting and retrying in case of an IOException.

 public  void setServer(MBeanServerConnection server) 
    Set the MBeanServerConnection used to connect to the MBean which all invocations are routed to.
 public  void setServiceUrl(String url) throws MalformedURLException 
    Set the service URL of the remote MBeanServer.
 public  void setUseStrictCasing(boolean useStrictCasing) 
    Set whether to use strict casing for attributes. Enabled by default.

    When using strict casing, a JavaBean property with a getter such as getFoo() translates to an attribute called Foo. With strict casing disabled, getFoo() would translate to just foo.