spring boot 实际应用(一) 内置tomcat 实现JMX配置
2017-03-08 13:25
861 查看
项目需要增加JMX 监控,SO翻了翻官方文档,有几种实现方式,下面说一个我选择的,一是方便扩展,二是方便我底层封装
package com.ecej.nove.autoconfigure.jmx;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.DependsOn;
import org.springframework.jmx.support.ConnectorServerFactoryBean;
import org.springframework.remoting.rmi.RmiRegistryFactoryBean;
/**
* JMX监控
*
* @author QIANG
*
*/
@Configuration
public class JmxAutoConfiguration {
private Logger LOGGER = LoggerFactory.getLogger(JmxAutoConfiguration.class);
@Value("${jmx.rmi.host:localhost}")
private String rmiHost;
@Value("${jmx.rmi.port:9999}")
private Integer rmiPort;
@Bean
public RmiRegistryFactoryBean rmiRegistry() {
final RmiRegistryFactoryBean rmiRegistryFactoryBean = new RmiRegistryFactoryBean();
rmiRegistryFactoryBean.setPort(rmiPort);
rmiRegistryFactoryBean.setAlwaysCreate(true);
LOGGER.info("RmiRegistryFactoryBean create success !!");
return rmiRegistryFactoryBean;
}
@Bean
@DependsOn("rmiRegistry")
public ConnectorServerFactoryBean connectorServerFactoryBean() throws Exception {
final ConnectorServerFactoryBean connectorServerFactoryBean = new ConnectorServerFactoryBean();
connectorServerFactoryBean.setObjectName("connector:name=rmi");
connectorServerFactoryBean.setServiceUrl(
String.format("service:jmx:rmi://%s:%s/jndi/rmi://%s:%s/jmxrmi", rmiHost, rmiPort, rmiHost, rmiPort));
LOGGER.info("ConnectorServerFactoryBean create success !!");
return connectorServerFactoryBean;
}
}
如此的简单
package com.ecej.nove.autoconfigure.jmx;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.DependsOn;
import org.springframework.jmx.support.ConnectorServerFactoryBean;
import org.springframework.remoting.rmi.RmiRegistryFactoryBean;
/**
* JMX监控
*
* @author QIANG
*
*/
@Configuration
public class JmxAutoConfiguration {
private Logger LOGGER = LoggerFactory.getLogger(JmxAutoConfiguration.class);
@Value("${jmx.rmi.host:localhost}")
private String rmiHost;
@Value("${jmx.rmi.port:9999}")
private Integer rmiPort;
@Bean
public RmiRegistryFactoryBean rmiRegistry() {
final RmiRegistryFactoryBean rmiRegistryFactoryBean = new RmiRegistryFactoryBean();
rmiRegistryFactoryBean.setPort(rmiPort);
rmiRegistryFactoryBean.setAlwaysCreate(true);
LOGGER.info("RmiRegistryFactoryBean create success !!");
return rmiRegistryFactoryBean;
}
@Bean
@DependsOn("rmiRegistry")
public ConnectorServerFactoryBean connectorServerFactoryBean() throws Exception {
final ConnectorServerFactoryBean connectorServerFactoryBean = new ConnectorServerFactoryBean();
connectorServerFactoryBean.setObjectName("connector:name=rmi");
connectorServerFactoryBean.setServiceUrl(
String.format("service:jmx:rmi://%s:%s/jndi/rmi://%s:%s/jmxrmi", rmiHost, rmiPort, rmiHost, rmiPort));
LOGGER.info("ConnectorServerFactoryBean create success !!");
return connectorServerFactoryBean;
}
}
如此的简单
相关文章推荐
- 实践:在tomcat中为springboot应用配置context
- spring boot 实际应用(三)发送邮件实现
- Linux环境下Spring Boot项目内置Tomcat参数配置
- Linux环境下Spring Boot项目内置Tomcat参数配置
- SpringBoot+ZooKeeper+ZKUI+Drools 实现应用配置中心及业务规则动态加载
- 使用外部容器运行spring-boot项目:不使用spring-boot内置容器让spring-boot项目运行在外部tomcat容器中
- tomcat服务实现多个应用的配置
- Spring bean配置中属性值由String到实际类型的动态转化过程及PropertyEditor类的应用
- 通过JVM 参数 实现spring 应用的二进制代码与配置分离。
- 基于Spring Boot和Spring Cloud实现微服务架构学习(六)-Docker应用
- Spring aop切面实际应用 XML配置
- spring boot实战之内嵌容器tomcat配置
- spring boot实战(第七篇)内嵌容器tomcat配置
- SpringBoot初始教程之Tomcat、Jetty优化以及Https配置(九)
- Spring Boot 搭建应用实现登陆实例,页面使用bootstrap
- 【Spring】如何在单个Boot应用中配置多数据库?
- spring-boot+nginx+tomcat+ssl配置笔记
- Spring Boot修改内置Tomcat端口号
- spring boot(7) 配置外部tomcat(1)
- 基于tomcat与Spring的实现差异化配置方案