Spring中的计时器StopWatch

 

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

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

 

 

[java]  view plain  copy
 
  print ?
  1. StopWatch sw = new StopWatch();  
  2. sw.start();  
  3. // 业务操作  
  4. sw.stop();  
  5. logger.info("耗时间:" + sw.getTotalTimeMillis());  

 

2 配合拦截器

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

 

 

 

[java]  view plain  copy
 
  print ?
  1. StopWatch stopWatch = new StopWatch(url+System.currentTimeMillis());    
  2. stopWatch.start();    
  3. doFilter(arg0,arg1);    
  4. opWatch.stop();    
  5. loginfo(stopWatch.getTotalTimeMillis()+"---"+request.getRequestURI()+"执行时间");  

从源代码构造看出,StopWatch根据id构造对象,确保构造id唯一即可区分不同的请求。

 

 

[java]  view plain  copy
 
  print ?
  1. public StopWatch() {   
  2.     keepTaskList = true;    
  3.     taskList = new LinkedList();    
  4.     id = "";    
  5. }    
  6.     
  7. public StopWatch(String id) {    
  8.     keepTaskList = true;    
  9.     taskList = new LinkedList();    
  10.     this.id = id;    
  11. }  

 

原贴地址:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值