文档章节

spring boot1.5.2.RELEASE集成javameloady

tianxia007
 tianxia007
发布于 2017/07/25 18:36
字数 306
阅读 53
收藏 1

javameloady maven引入版本:

<dependency>
            <groupId>net.bull.javamelody</groupId>
            <artifactId>javamelody-core</artifactId>
            <version>1.68.1</version>
</dependency>

如果启动报错:代理相关异常,添加以下坐标:

<dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
</dependency>
JavaMelodyConfiguration:
public class JavaMelodyConfiguration implements ServletContextInitializer {

    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        servletContext.addListener(new SessionListener());
    }

    @Bean
    public FilterRegistrationBean javaMelody() {
        final FilterRegistrationBean javaMelody = new FilterRegistrationBean();
        final MonitoringFilter filter = new MonitoringFilter();
        filter.setApplicationType("Spring boot");

        javaMelody.setFilter(filter);
        javaMelody.setAsyncSupported(true);
        javaMelody.setName("javamelody");
        javaMelody.setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.ASYNC);

        // see the list of parameters:
        // https://github.com/javamelody/javamelody/wiki/UserGuide#6-optional-parameters
        javaMelody.addInitParameter(Parameter.LOG.getCode(), Boolean.toString(true));
        // to exclude images, css, fonts and js urls from the monitoring:
        javaMelody.addInitParameter(Parameter.URL_EXCLUDE_PATTERN.getCode(), "/static/.{0,}");
        // to add basic auth:
        javaMelody.addInitParameter(Parameter.AUTHORIZED_USERS.getCode(), "admin:1");
        // to change the default storage directory:
        File f = new File("./javamelody/");
        if (!f.exists()) f.mkdir();
        System.out.println("javamelody 绝对路径:" + f.getAbsolutePath() + "___" + f.getPath());
        javaMelody.addInitParameter(Parameter.STORAGE_DIRECTORY.getCode(), f.getAbsolutePath());

        //javaMelody.addInitParameter(Parameter.JPA_TRANSFORM_PATTERN.getCode(), "./javamelody");

        javaMelody.addInitParameter(Parameter.DATASOURCES.getCode(), "dataSource");

        javaMelody.addUrlPatterns("/*");
        return javaMelody;
    }

    //
//    // Note: if you have auto-proxy issues, you can add the following dependency in your pom.xml:
//    // <dependency>
//    //   <groupId>org.aspectj</groupId>
//    //   <artifactId>aspectjweaver</artifactId>
//    // </dependency>
//    @Bean
//    public DefaultAdvisorAutoProxyCreator getDefaultAdvisorAutoProxyCreator() {
//         return new DefaultAdvisorAutoProxyCreator();
//    }
//
    // monitoring of jdbc datasources:
    @Bean
    public SpringDataSourceBeanPostProcessor monitoringDataSourceBeanPostProcessor() {
        final SpringDataSourceBeanPostProcessor processor = new SpringDataSourceBeanPostProcessor();
        processor.setExcludedDatasources(null);
        return processor;
    }

    //
//    // monitoring of beans or methods having @MonitoredWithSpring:
    @Bean
    public MonitoringSpringAdvisor monitoringAdvisor() {
        final MonitoringSpringAdvisor interceptor = new MonitoringSpringAdvisor();
        interceptor.setPointcut(new MonitoredWithAnnotationPointcut());
        return interceptor;
    }
//
//    // monitoring of all services and controllers (even without having @MonitoredWithSpring):
////    @Bean
//    public MonitoringSpringAdvisor springServiceMonitoringAdvisor() {
//        final MonitoringSpringAdvisor interceptor = new MonitoringSpringAdvisor();
//        interceptor.setPointcut(new AnnotationMatchingPointcut(org.springframework.stereotype.Service.class));
//        return interceptor;
//    }

    @Bean
    public MonitoringSpringAdvisor springControllerMonitoringAdvisor() {
        final MonitoringSpringAdvisor interceptor = new MonitoringSpringAdvisor();
        interceptor.setPointcut(new AnnotationMatchingPointcut(org.springframework.stereotype.Controller.class));
        return interceptor;
    }


    @Bean
    public MonitoringSpringAdvisor springRestControllerMonitoringAdvisor() {
        final MonitoringSpringAdvisor interceptor = new MonitoringSpringAdvisor();
        interceptor.setPointcut(new AnnotationMatchingPointcut(RestController.class));
        return interceptor;
    } }

集成后效果图:(图片单独页面打开可看清)

 

© 著作权归作者所有

共有 人打赏支持
tianxia007

tianxia007

粉丝 21
博文 10
码字总数 2441
作品 3
南京
后端工程师
struts+spring+hibernate 整合spring security 2.X

好吧!在这个夜深人静的时候,既然没有睡意,那就刚好整理一个我的博文,osc挺好的,以后技术博文就在这里整理了!前几天因为项目需求spring security 机制,所以就自己研究了一下,到官方下...

Beyond-Bit
2012/07/01
0
4
【第2章 Spring快速入门】2.2 WEB应用之HelloWorld

上一节:【第2章 Spring快速入门】2.1 Java应用之HelloWorld 本章节主要介绍在WEB开发过程中,Spring是怎么使用的?上一节中我们已经讲到在普通的Java Project中如何使用Spring容器了,那么在...

陶邦仁
2015/07/07
0
0
深入 Spring Boot : 快速集成 Dubbo + Hystrix

背景 Hystrix 旨在通过控制那些访问远程系统、服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。Hystrix具备拥有回退机制和断路器功能的线程和信号隔离,请求缓存和请求打包,以...

小致dad
07/02
0
0
Spring Boot学习资源

Spring Boot 入门 http://blog.csdn.net/isea533/article/details/50278205 ---------------------------------------------------------- Spring Boot 静态资源处理 http://blog.csdn.net/c......

IamOkay
2017/02/17
0
0
mybatis入门教程(八)------mybatis与spring集成

Mybatis与Spring集成开发 前期准备 mybatis与Spring集成,那么就需要spring对应的jar包 <dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><vers......

残风vs逝梦
2014/06/10
0
1

没有更多内容

加载失败,请刷新页面

加载更多

可爱的python测试开发库(python测试开发工具库汇总)

欢迎转载,转载请注明来源: github地址 谢谢点赞 本文地址 相关书籍下载 测试开发 Web UI测试自动化 splinter - web UI测试工具,基于selnium封装。 链接 selenium - web UI自动化测试。 链...

python测试开发人工智能安全
今天
2
0
Shiro | 实现权限验证完整版

写在前面的话 提及权限,就会想到安全,是一个十分棘手的话题。这里只是作为学校Shiro的一个记录,而不是,权限就应该这样设计之类的。 Shiro框架 1、Shiro是基于Apache开源的强大灵活的开源...

冯文议
今天
1
0
linux 系统的运行级别

运行级别 运行级别 | 含义 0 关机 1 单用户模式,可以想象为windows 的安全模式,主要用于修复系统 2 不完全的命令模式,不含NFS服务 3 完全的命令行模式,就是标准的字符界面 4 系统保留 5 ...

Linux学习笔记
今天
2
0
学习设计模式——命令模式

任何模式的出现,都是为了解决一些特定的场景的耦合问题,以达到对修改封闭,对扩展开放的效果。命令模式也不例外: 命令模式是为了解决命令的请求者和命令的实现者之间的耦合关系。 解决了这...

江左煤郎
今天
3
0
字典树收集(非线程安全,后续做线程安全改进)

将500W个单词放进一个数据结构进行存储,然后进行快速比对,判断一个单词是不是这个500W单词之中的;来了一个单词前缀,给出500w个单词中有多少个单词是该前缀. 1、这个需求首先需要设计好数据结...

算法之名
昨天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部