关于#java#的问题:在拦截器中重写preHandle处理,返回true后,相同接口进入controller时,有时会很快进入controller,有时大约延迟3s左右进入controller

在拦截器中重写preHandle处理,返回true后,相同接口进入controller时,有时会很快进入controller,有时大约延迟3s左右进入controller。

**    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        long startTime = System.currentTimeMillis();
        request.setAttribute("start_time", startTime);
        return true;
    }**

接口的业务处理非常简单,只是单表查询,耗时也就几十毫秒。

img

原先preHandle中有log.info日志输出,注释日志输出后效果一样,接口请求时而快时而超过3s。

连接数据库是比较耗时的,有没有创建连接池呢?

响应变慢应该和拦截器没关系,如果业务逻辑只有 SQL 查询,建议统计下 SQL 执行的时间。

做了一次日志跟踪,发现preHandle 到controller之间有时能花费3秒。