4Manuals

  • PDF Cloud HOME

通过自定义异常解析器处理CannotCreateTransactionException Download

    春季启动-Couchbase AbstractCouchbaseConfiguration-如何避免覆盖不必要的方法 我不知道(未解决的编译问题:) 加载数据并推送到未显示的RecyclerView中 调用Model类的函数时出现java.lang.NullPointerException 字符串数组在for循环中初始化时忽略索引0 Spring MVC @ModelAttribute未填充AJAX发布请求 需要建议在Java中使用哪个数据库/存储来存储RaftLogs(实现Raft Consensus Algorithm) Flutter:Java使用或覆盖已弃用的API @ EnableOAuth2Sso和@EnableResourceServer(同一应用程序中的客户端和资源行为) 中断可运行线程的问题

我正在使用Spring MVC 4,Hibernate 4和c3p0来限制池数据库连接。我还实现了自定义异常解析器,该解析器将AnnotationMethodHandlerExceptionResolver扩展到Tomcat,不会将日志返回到front(user)。但是,我注意到我的异常解析器无法处理由org.springframework.transaction.CannotCreateTransactionException和org.hibernate.exception.GenericJDBCException引起的异常,因为数据库连接池已耗尽,但是Tomcat将所有日志返回到最前面-用户可见,但是这是不想要的结果。我试图通过在doResolveException中的覆盖方法AnnotationMethodHandlerExceptionResolver中设置的断点来调试异常解析器,但应用程序不会在断点处停止。 Hibernate异常应该以不同的方式处理吗?如何在自定义异常解析器中处理它们?

public class MappingExceptionResolver extends AnnotationMethodHandlerExceptionResolver{

    @Override
    protected ModelAndView doResolveException(HttpServletRequest request, HttpServletResponse response, Object handlerMethod, Exception exception) {
        ModelAndView mav = super.doResolveException(request, response, handlerMethod, exception);
        if (isEmpty(mav)) {
            MappingResolveExceptionResult resolveResult = getResolveResult(request, exception);
            response.setStatus(resolveResult.getResponseStatus());
            mav = new ModelAndView(resolveResult.getView());
            if (HttpStatus.valueOf(resolveResult.getResponseStatus()).series() != Series.REDIRECTION) {
                mav.addObject("exception", exception);
                mav.addObject("handler", handlerMethod);
            }
        }
        return mav;
    }
}

0 个答案:

没有答案



Similar searches
    防止危险地SetInnerHTML在React中继承CSS 需要一个类似字节的对象,而不是'str'XTEA算法 Samsung RF260BEAEBC Refrigerator User Manual 在Scala中从XML提取数据并转换为JSON Samsung RF260BEAESP Refrigerator User Manual