@Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.println(this.getClass().getSimpleName() + "---preHandle()..."); long beginTime = System.currentTimeMillis(); starTimeThreadLocal.set(beginTime); return super.preHandle(request, response, handler); }
@Override public void afterCompletion( HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { System.out.println(this.getClass().getSimpleName() + "---afterCompletion()..."); long endTime = System.currentTimeMillis(); long beginTime = starTimeThreadLocal.get(); long consumeTime = endTime - beginTime; System.out.println("consumeTime=" + consumeTime); super.afterCompletion(request, response, handler, ex); }
@Override public void afterCompletion( HttpServletRequest _request, HttpServletResponse _response, Object _handler, Exception _ex) throws Exception { // TODO Auto-generated method stub long endTime = System.currentTimeMillis(); // 2、结束时间 long beginTime = startTimeThreadLocal.get(); // 得到线程绑定的局部变量(开始时间) long consumeTime = endTime - beginTime; // 3、消耗的时间 // System.out.println(consumeTime); if (consumeTime > 500) { // 此处认为处理时间超过500毫秒的请求为慢请求 System.out.println( String.format("%s consume %d millis", _request.getRequestURI(), consumeTime)); } log.info(_ex); super.afterCompletion(_request, _response, _handler, _ex); }
@Override public boolean preHandle( HttpServletRequest _request, HttpServletResponse _response, Object _handler) throws Exception { // TODO Auto-generated method stub String uri = _request.getRequestURI(); System.out.println(uri); long beginTime = System.currentTimeMillis(); // 1、开始时间 startTimeThreadLocal.set(beginTime); // 线程绑定变量(该数据只有当前请求的线程可见) if (_handler instanceof HandlerMethod) { log.info("--------------------------"); HandlerMethod hm = (HandlerMethod) _handler; Method method = hm.getMethod(); TypeVariable[] tvs = method.getTypeParameters(); Type[] types = method.getGenericParameterTypes(); log.info("--------------------------"); } boolean rtn = super.preHandle(_request, _response, _handler); log.info(rtn); return rtn; }