在线制作表白网站,广西建设网行业版,以美食为主的网站栏目怎么做,外贸网站建设公司教程文章目录 1、整合2、消息的生产3、消费4、发送异步消息5、补充#xff1a;安装RocketMQ 1、整合
首先导入起步依赖#xff0c;RocketMQ的starter不是Spring维护的#xff0c;这一点从starter的命名可以看出来#xff08;不是spring-boot-starter-xxx#xff0c;而是xxx-s… 文章目录 1、整合2、消息的生产3、消费4、发送异步消息5、补充安装RocketMQ 1、整合
首先导入起步依赖RocketMQ的starter不是Spring维护的这一点从starter的命名可以看出来不是spring-boot-starter-xxx而是xxx-spring-boot-starter和MyBatisPlus、Druid一样因此version值得自己加
dependency groupIdorg.apache.rocketmq/groupId artifactIdrocketmq-spring-boot-starter/artifactId version2.2.1/version
/dependency添加相关配置
rocketmq: name-server: localhost:9876 producer: group: group_rocketmq # 设置一个自定义的生产者默认组名省掉这个启动会报错
在需要的地方注入RocketMQTemplate操作对象
Autowired
private RocketMQTemplate rocketMQTemplate;2、消息的生产
发送消息继续convertAndSend方法接着上篇在Service层来演示
Service
Slf4j
public class MessageServiceRocketmqImpl implements MessageService { Autowired private RocketMQTemplate rocketMQTemplate; Override public void sendMessage(String id) { rocketMQTemplate.convertAndSend(order_sm_id,id); log.info(使用Rabbitmq将待发送短信的订单纳入处理队列idid); }
}
convertAndSend方法依旧重载可以直接传一个Object也可以先传一个destination参数即发到哪儿再传要发的message
3、消费
这里不演示手动receive方法拿消息直接用监听器自动拿来消费实现RocketMQListener接口泛型为Message类型重写onMessage方法加RocketMQMessageListener注解两个属性为主题名称和消费者组
Component
Slf4j
RocketMQMessageListener(topicorder_sm_id,consumerGroup group_rocketmq)
public class RocketmqMessageListener implements RocketMQListenerString { Override public void onMessage(String id) { log.info(已完成短信发送业务idid); }
}
4、发送异步消息
Service
Slf4j
public class MessageServiceRocketmqImpl implements MessageService { Autowired private RocketMQTemplate rocketMQTemplate; Override public void sendMessage(String id) { //回调逻辑SendCallback callback new SendCallback() { Override public void onSuccess(SendResult sendResult) { //消息发送成功后你要做的业务//...log.info(消息发送成功); } Override public void onException(Throwable throwable) { log.info(消息发送失败); } }; //异步发送rocketMQTemplate.asyncSend(order_sm_id,id,callback); log.info(使用Rabbitmq将待发送短信的订单纳入处理队列idid); }
}
asyncSend异步发消息有个参数是callback回调方法类型是一个接口创建这个对象的时候重写onSuccess和OnException方法即消息发送成功以后的逻辑和消息发送失败以后的逻辑异步的体现不用等来个回调。
5、补充安装RocketMQ
建议以Docker方式启动下面备份下在Windows的安装安装为一个系统服务
下载
下载地址https://rocketmq.apache.org/安装解压缩即可
默认服务端口9876环境变量配置
ROCKETMQ_HOME
PATH
NAMESRV_ADDR 建议 127.0.0.1:9876启动命名服务器
mqnamesrv启动Broker
mqbroker服务器功能测试生产数据
tools org.apache.rocketmq.example.quickstart.Producer服务器功能测试消费数据
tools org.apache.rocketmq.example.quickstart.Consumer