Seb*_*ber 10 spring transactions distributed-transactions rabbitmq
为了简化我的问题,我有
App1与@Transactionnal方法createUser():
App2与RabbitMQ消息消失
问题是,有时,App2尝试在App1上提交事务之前使用RabbitMQ消息.这意味着App2无法读取数据库上的邮件数据,因为尚未创建用户.
一些解决方案可能是:
我已经看到Spring中有一个RabbitTransactionManager,但我无法理解它应该如何工作.事务处理内容似乎总是有点难以理解,文档也没有那么多帮助.
有没有办法做这样的事情?
怎么样?如果我发送同步RabbitMQ消息而不是异步消息,那么可以期待什么呢?它会阻止等待响应的线程吗?因为我们确实为不同的用例发送同步和异步消息.
我不太熟悉 @Transactionnal 和 spring,但是在 AMQP 标准消息队列中不是事务性操作,因此您必须将数据存储在数据库中(如果数据库连接是事务性的 - 提交事务),并且只有在将消息发送到代理之后。
正确的工作流程对我来说就像App1: createUser -> notifyUser; App2: listenForNotifications
| 归档时间: |
|
| 查看次数: |
1820 次 |
| 最近记录: |