Spring中的计时器StopWatch

首先给大家分享一个巨牛巨牛的人工智能教程,是我无意中发现的。教程不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈~我正在学习中,觉得太牛了,所以分享给大家!点这里可以跳转到教程

                1 概述

需要记录每个任务执行时间,或者记录一段代码执行时间,简单方法是打印当前时间与执行完时间的差值,若执行大量测试很麻烦并且不直观。若想对执行时间做进一步控制,则需要在程序中很多地方修改。spring-framework提供了一个StopWatch类可以做类似任务执行时间控制。

StopWatch sw = new StopWatch();sw.start();// 业务操作sw.stop();logger.info("耗时间:" + sw.getTotalTimeMillis());


2 配合拦截器

在filter中用spring StopWatch来统计每个请求的执行时间。在filter的doFilter中加入如下代码:

StopWatch stopWatch = new StopWatch(url+System.currentTimeMillis());  stopWatch.start();  doFilter(arg0,arg1);  opWatch.stop();  loginfo(stopWatch.getTotalTimeMillis()+"---"+request.getRequestURI()+"执行时间");
从源代码构造看出, StopWatch根据id构造对象,确保构造id唯一即可区分不同的请求。

public StopWatch() {     keepTaskList = true;      taskList = new LinkedList();      id = "";  }    public StopWatch(String id) {      keepTaskList = true;      taskList = new LinkedList();      this.id = id;  }

原贴地址:

http://blog.csdn.net/linfssay/article/details/7680323
http://blog.csdn.net/u012186154/article/details/54923210

           

浏览人工智能教程

你可能感兴趣的:(Spring中的计时器StopWatch)