其他分享
首页 > 其他分享> > Spring RabbitMQ-交易和交易管理器

Spring RabbitMQ-交易和交易管理器

作者:互联网

我在互联网上听到,rabbitMQ不支持交易.

现在,就是说,spring框架为我们提供了一个兔子事务管理器:

这是其定义的摘要:

<bean id="rabbitTransactionManager"
    class="org.springframework.amqp.rabbit.transaction.RabbitTransactionManager">
    <property name="connectionFactory" ref="connectionFactory" />
</bean>

所以我的问题是:

1)在带有事务管理器的方法上使用@transactional批注是否确实可以保证事务效果?
2)当兔子不是跨国公司时,spring如何实现交易?

解决方法:

Rabbit确实支持本地交易.例如,在交易中,如果您的使用者发生了某些事情,并且接收到的消息无法处理,则该消息将被发送回代理,并且不会被使用.

与其他代理(例如大多数基于JMS的代理)不同的是Rabbit不支持分布式事务(XA事务).这意味着在通过Rabbit发送消息并将某些数据持久存储在数据库中时,您不能具有相同的事务.

标签:spring-amqp,rabbitmq,transactions,spring
来源: https://codeday.me/bug/20191122/2059268.html