java - Spring 事务是否也适用于正常(非 DB)操作?
问题描述
我已经在应用程序的服务层上应用了 spring 事务。有一种方法可以执行以下两个操作
1) 向 SQS 发送消息。
2)并将该条目记录在数据库中。
那么,如果发生任何异常,则在数据库中添加日志时,操作(1)将回滚吗?或者 Spring 将在非数据库操作上应用事务?
解决方案
异常情况下的回滚应用于由该事务管理的任何内容。向 SQS 发送消息不受数据库事务管理,因此不会回滚。
要实现这一点,您需要在回滚中创建一个挂钩,并执行相当于将消息发送到 SQS 的回滚。
推荐阅读
- python - 用python说话时将语音转换为文本
- wordpress - 打开我的网站时如何加载我自己的网站文件而不是 WordPress 网站
- r - 垂直对齐单元格以位于底部的柔性表
- java - 应用程序中抛出 NoUniqueBeanDefinitionException
- tensorflow - tf api 用法:stop_if_no_decrease_hook
- php - 使用 pdo sqlsrv 驱动程序调用 mssql 存储过程,并在过程中进行多查询
- javascript - 尝试在命令行中运行时,javascript 程序的输出为“未定义”
- python - 如何遍历python中的无序对
- swift - Rxswift 在 UITableView 中的 UISearchBar
- android - 编辑文本上的上下文菜单的 Android 辅助功能