繁体   English   中英

Spring Transactional DAO,异常被吞没

[英]Spring Transactional DAO, exceptions swallowed

我使用Hibernate作为ORM,并且我的DAO带有@Repository注释。

我已经通过这种方式配置了AOP建议。

<tx:advice id="txAdvice" transaction-manager="transactionManager">
    <tx:attributes>
        <tx:method name="save*" propagation="REQUIRED" />
        <tx:method name="edit*" propagation="REQUIRED" />
        <tx:method name="*" read-only="true" />
    </tx:attributes>
</tx:advice>

它们工作得很好,只是如果这些方法中发生任何sql异常,它们就不会被捕获,因此不会被打印! 我猜是因为事务在执行该方法后提交,但我不确定。

我该如何处理?

看看这个类似的帖子 建议扩展SimpleMappingExceptionResolver

public class LoggingExceptionResolver extends SimpleMappingExceptionResolver {
private Logger logger = LoggerFactory.getLogger(LoggingExceptionResolver.class);

@Override
protected void logException(Exception ex, HttpServletRequest request) {
    this.logger.warn(buildLogMessage(ex, request), ex);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM