|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.jmx.access.MBeanClientInterceptor
public class MBeanClientInterceptor
MethodInterceptor
implementation that routes calls to an MBean
running on the supplied MBeanServerConnection
. Works for both
local and remote MBeanServerConnection
s.
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.
This functionality is usually used through MBeanProxyFactoryBean
.
See the javadoc of that class for more information.
MBeanProxyFactoryBean
,
setConnectOnStartup(boolean)
Field Summary | |
---|---|
protected org.apache.commons.logging.Log |
logger
|
Constructor Summary | |
---|---|
MBeanClientInterceptor()
|
Method Summary | |
---|---|
void |
afterPropertiesSet()
Ensures that an MBeanServerConnection is configured and attempts to
detect a local connection if one is not supplied. |
void |
destroy()
Closes any JMXConnector that may be managed by this interceptor. |
Object |
invoke(MethodInvocation invocation)
Route the invocation to the configured managed resource. |
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"). |
void |
setObjectName(String objectName)
Set the ObjectName of the MBean which calls are
routed to. |
void |
setServer(MBeanServerConnection server)
Set the MBeanServerConnection used to connect to the
MBean which all invocations are routed to. |
void |
setServiceUrl(String url)
Set the service URL of the remote MBeanServer . |
void |
setUseStrictCasing(boolean useStrictCasing)
Set whether to use strict casing for attributes. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final org.apache.commons.logging.Log logger
Constructor Detail |
---|
public MBeanClientInterceptor()
Method Detail |
---|
public void setServer(MBeanServerConnection server)
MBeanServerConnection
used to connect to the
MBean which all invocations are routed to.
public void setServiceUrl(String url) throws MalformedURLException
MBeanServer
.
MalformedURLException
public void setConnectOnStartup(boolean connectOnStartup)
MBeanServer
at creation time ("true") or the first time it is invoked ("false").
Default is "true".
public void setObjectName(String objectName) throws MalformedObjectNameException
ObjectName
of the MBean which calls are
routed to.
MalformedObjectNameException
public void setUseStrictCasing(boolean useStrictCasing)
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
.
public void afterPropertiesSet() throws MBeanServerNotFoundException, MBeanInfoRetrievalException
MBeanServerConnection
is configured and attempts to
detect a local connection if one is not supplied.
afterPropertiesSet
in interface InitializingBean
MBeanServerNotFoundException
MBeanInfoRetrievalException
public Object invoke(MethodInvocation invocation) throws Throwable
MBeanServerConnection.get/setAttribute
and method invocation to
MBeanServerConnection.invoke
. Any attempt to invoke a method that does not
correspond to an attribute or operation defined in the management interface of the managed
resource results in an InvalidInvocationException
.
invoke
in interface MethodInterceptor
invocation
- the MethodInvocation
to re-route.
InvocationFailureException
- if the invocation does not match an attribute or
operation on the management interface of the resource.
Throwable
- typically as the result of an error during invocationpublic void destroy() throws Exception
JMXConnector
that may be managed by this interceptor.
destroy
in interface DisposableBean
Exception
- in case of shutdown errors.
Exceptions will get logged but not rethrown to allow
other beans to release their resources too.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |