RabbitMQ 消息确认机制-事物模式
1 介绍
rabbitmq消息确认机制 包括 事物模式和 confirm模式
获得连接通道
Channel channel
= connection
.createChannel
();
发送消息前开启事物
channel
.txSelect
();
发送后提交事物
channel
.txCommit
();
报错回滚事物
channel
.txRollback
();
事物模式是同步的,对吞吐率影响较大
2 代码
由于 之前文章有了很多的代码 这里就放代码片段了,代码参照 工作队列模式
try
{
//
开启事物
channel
.txSelect
();
String msg
=
"hello,I am shiwu_queue "
;
channel
.basicPublish
(
""
,
QUEUE_NAME
, MessageProperties
.
PERSISTENT_TEXT_PLAIN
, msg
.getBytes
());
System
.
out
.println
(
"----send msg: "
+ msg
);
//
提交事物
channel
.txCommit
();
}
catch
(Exception
e){
//
回滚
channel
.txRollback
();
}