6 SpringBoot整合RocketMQ发送异步消息

x33g5p2x  于2021-09-19 转载在 Spring  
字(0.6k)|赞(0)|评价(0)|浏览(572)

发送异步消息是指producer向 broker 发送消息时指定消息发送成功及发送异常的回调方法,调用 API 后立即返回,producer发送消息线程不阻塞 ,消息发送成功或失败的回调任务在一个新的线程中执行 。

相对发送同步消息,异步消息性能更高,可靠性略差。适合对响应时间要求高的业务场景。

RocketMQTemplate给我们提供了asyncSend方法(有多个重载),来实现发送异步消息;

下面给一个实例:

/** * 发送异步消息 */
public void sendAsyncMessage(){
	for(int i=0;i<10;i++){
		rocketMQTemplate.asyncSend("java1234-rocketmq", "rocketmg异步消息!"+i, new SendCallback() {
			@Override
			public void onSuccess(SendResult sendResult) {
				System.out.println("发送成功!");
			}

			@Override
			public void onException(Throwable throwable) {
				System.out.println("发送失败!");
			}
		});
	}
}

类似发送同步消息,多了一个SendCallback回调接口参数,实现onSuccess和onException方法,分别表示异步发送成功和失败;

运行测试OK!

相关文章