6 SpringBoot整合RocketMQ发送异步消息

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

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

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

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

下面给一个实例:

  1. /** * 发送异步消息 */
  2. public void sendAsyncMessage(){
  3. for(int i=0;i<10;i++){
  4. rocketMQTemplate.asyncSend("java1234-rocketmq", "rocketmg异步消息!"+i, new SendCallback() {
  5. @Override
  6. public void onSuccess(SendResult sendResult) {
  7. System.out.println("发送成功!");
  8. }
  9. @Override
  10. public void onException(Throwable throwable) {
  11. System.out.println("发送失败!");
  12. }
  13. });
  14. }
  15. }

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

运行测试OK!

相关文章