分布式消息服务RABBITMQ版-配置RabbitMQ消息确认机制:生产者确认

时间:2024-07-17 16:03:41

生产者确认

生产者确认,即服务端在收到来自生产者的消息时进行确认。

以下示例演示在Java客户端配置生产者确认:

try {
	channel.confirmSelect() ; //将信道置为publisher confirm模式
	//之后正常发送消息
	channel . basicPublish( "exchange " , " routingKey" , null , "publisher confirm test " .getBytes());
	if (!channel.waitForConfirms()) {
		System.out.println( "send message failed " ) ;
		// do something else....
	}
} catch (InterruptedException e) {
		e.printStackTrace() ;
}

调用channel .waitForConfirms方法之后,会等待服务端确认,这是一种同步等待的方式,会对性能产生影响。如果生产者要满足at least once,就必须使用同步等待方式。

support.huaweicloud.com/usermanual-rabbitmq/rabbitmq_ug_0012.html