此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Framework 6.2.0! |
通过 Proxies 访问 MBean
Spring JMX 允许您创建代理,将调用重新路由到在
本地或远程 .这些代理为您提供了一个标准的 Java 接口
通过它与 MBean 进行交互。以下代码演示如何配置
在本地 中运行的 MBean 的代理。MBeanServer
MBeanServer
<bean id="proxy" class="org.springframework.jmx.access.MBeanProxyFactoryBean">
<property name="objectName" value="bean:name=testBean"/>
<property name="proxyInterface" value="org.springframework.jmx.IJmxTestBean"/>
</bean>
在前面的示例中,您可以看到为在 of 下注册的 MBean 创建了一个代理。代理实现的接口集
由属性控制,映射方法和
这些接口上的属性和 MBean 上的属性是相同的
使用的规则。ObjectName
bean:name=testBean
proxyInterfaces
InterfaceBasedMBeanInfoAssembler
可以创建任何可通过 .默认情况下,本地 (local) 被定位并使用,但
你可以覆盖它并提供一个指向远程的代理,以满足指向远程 MBean 的代理的需求:MBeanProxyFactoryBean
MBeanServerConnection
MBeanServer
MBeanServerConnection
MBeanServer
<bean id="clientConnector"
class="org.springframework.jmx.support.MBeanServerConnectionFactoryBean">
<property name="serviceUrl" value="service:jmx:rmi://remotehost:9875"/>
</bean>
<bean id="proxy" class="org.springframework.jmx.access.MBeanProxyFactoryBean">
<property name="objectName" value="bean:name=testBean"/>
<property name="proxyInterface" value="org.springframework.jmx.IJmxTestBean"/>
<property name="server" ref="clientConnector"/>
</bean>
在前面的示例中,我们创建了一个指向远程机器的
使用 .然后
传递给 通过属性。代理是
created 将所有调用转发到 通过 this 。MBeanServerConnection
MBeanServerConnectionFactoryBean
MBeanServerConnection
MBeanProxyFactoryBean
server
MBeanServer
MBeanServerConnection