标签:spring-amqp rabbitmq transactions spring
我在互联网上听到,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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。