开发者社区> 问答> 正文

针对有些单个方法单独处理事务,例如写日志记录到数据库,请问有么有好的解决办法吗?

我现在一直使用的编程式事务控制(具体:使用spring提供的template,不在xml里面配置事务,单个方法直接使用template操作,这样操作完上下文就直接提交事务,关闭连接。如果多个方法需要在一个事务里面的话就用TransactionTemplate进行控制)。

因为如果使用配置,虽然在几个方法都配置的require,或者requed new 事务,但是如果方法互相调用的话,方法里面调用的方法就使用的上层方法事务,而不是suspend上层事务,但是我想针对有些单个方法单独处理事务,例如写日志记录到数据库。配置文件式还是无法解决,必须硬编码。请问有么有好的解决办法!

展开
收起
OSC开源社区 2024-05-31 11:07:15 50 0
1 条回答
写回答
取消 提交回答
  • Spring事务控制以及事务传播的控制,底层实现其实是ThreadLocal中的线程绑定的connection和事务引用计数器,当当前事务引用为0的时候,进行commit。文档和代码中其实都有很详细的解释,我也没看到你说这块有啥问题。

    至于配置模式(或者annotation模式),我只是用过默认的required,没遇到过required_new不生效的情况

    2024-05-31 14:47:29
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载