单机监控
在javaconfig类中开启注解
@EnableMBeanExport
或者 在传统的xml中添加
<context:mbean-export server="mbeanServer" />
来看看如何使用注解吧
@ManagedResource 将MBeanController导出为MBean
@ManagedAttribute 将bean的方法暴露为MBean托管操作
@ManagedOperation 将bean的属性暴露为MBean托管属性
@Controller
@ManagedResource(objectName="spittr:name=MBeanController")
public class MBeanController {
private static int i= 100;
@ManagedAttribute
public int getI() {
return i;
}
@ManagedAttribute
public void setI(int i) {
this.i = i;
}
}
这样就可以在 jconsole 中监控了!
看看如何暴露远程MBean
/**
* 启动RMI注册表
* @author dong.tl
* @date 2017年5月18日 下午3:58:22
* @return
*/
@Bean
public RmiRegistryFactoryBean rmiRegistryFB(){
RmiRegistryFactoryBean rmiRegistryFB = new RmiRegistryFactoryBean();
rmiRegistryFB.setPort(1099);
return rmiRegistryFB;
}
/**
* 启动远程 JMX
* @author dong.tl
* @date 2017年5月18日 下午3:58:39
* @return
*/
@Bean
public ConnectorServerFactoryBean connectorServerFactoryBean(){
ConnectorServerFactoryBean csfb = new ConnectorServerFactoryBean();
csfb.setServiceUrl("service:jmx:rmi://localhost/jndi/rmi://localhost:1099/spittr");
return csfb;
}