Spring Boot 集成 RocketMQ

  • 消费者

    • Push模式
  • Pull模式

  • 高级

    • 请求应答语义
  • ACL功能

  • 消息轨迹

  • 常见问题

官网地址https://github.com/apache/rocketmq-spring

特性

  • 同步发送消息

  • 异步发送消息

  • 以单向模式发送消息

  • 发送有序消息

  • 发送批量消息

  • 发送交易消息

  • 发送具有延迟级别的预定消息

  • 以并发模式(广播/集群)消费消息

  • 消费有序消息

  • 使用标记或 sql92 表达式过滤消息

  • 支持消息追踪

  • 支持认证和授权

  • 支持请求-回复消息交换模式

  • 使用推/拉模式消费消息

集成


直接使用官方的rocketmq-spring-boot-starter

地址:https://search.maven.org/artifact/org.apache.rocketmq/rocketmq-spring-boot-starter

pom.xml

org.apache.rocketmq

rocketmq-spring-boot-starter

2.1.1

2.1.1版本,内置的rocketmq-client版本为4.7.1应该与你rocketmq服务保持一致。

生产者


配置文件如下:

rocketmq:

rocketMQ的命名服务器,格式为: host:port;host:port

name-server: localhost:9876

producer:

生产者的组名

group: my-group1

发送消息超时时间 默认3秒

send-message-timeout: 3000

注意:

请将上述示例配置中的127.0.0.1:9876替换成真实RocketMQ的NameServer地址与端口

引入RocketMQTemplate

@Resource

private RocketMQTemplate rocketMQTemplate;

同步发送消息

可靠的同步传输应用于广泛的场景,如重要通知消息、短信通知、短信营销系统等。

// 发送字符串

rocketMQTemplate.syncSend(“springTopic”, “Hello, World!”);

// 同步发送

rocketMQTemplate.convertAndSend(“test-topic-1”, “Hello, World!”);

// 发送对象

rocketMQTemplate.syncSend(“userTopic”, new User().setUserAge((byte) 18).setUserName(“Kitty”));

// 发送spring 消息

rocketMQTemplate.syncSend(userTopic, MessageBuilder.withPayload(

new User().setUserAge((byte) 21).setUserName(“Lester”)).setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE).build());

异步发送消息

异步传输一般用于响应时间敏感的业务场景。

rocketMQTemplate.asyncSend(“orderPaidTopic”, “异步发送”, new SendCallback() {

@Override

public void onSuccess(SendResult var1) {

// 成功回调

System.out.printf(“async onSucess SendResult=%s %n”, var1);

}

@Override

public void onException(Throwable var1) {

// 失败回调

System.out.printf(“async onException Throwable=%s %n”, var1);

}

});

单向发送消息

单向传输用于需要中等可靠性的情况,例如日志收集。

rocketMQTemplate.sendOneway(“springTopic”, “Hello, World!”);

发送有序消息

rocketMQTemplate.syncSendOrderly(“orderly_topic”,MessageBuilder.withPayload(“Hello, World”).build(),“hashkey”)

发送事务消息

Mess

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值