发送异步消息是指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!
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/caoli201314/article/details/120040980
内容来源于网络,如有侵权,请联系作者删除!