rocketMQ发送消息demo
在发送之前,需要先搭建好rocketMQ
之后便是创建两个springboot工程,一个是生产中producer生产者、另外一个是consumer消费者
一、生产者创建步骤:
1、通过idea创建一个springboot工程,在创建工程的时候,添加spring-boot-starter-web依赖即可
2、在pom.xml文件中添加rocketMQ相关依赖,注意需要和使用rocketMQ版本对应,我用的是4.7.1版本rocketMQ
<dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-spring-boot-starter</artifactId> <version>2.1.1</version> </dependency>
3、在application.properties里面添加rocketMQ相关配置
rocketmq.name-server=192.168.61.128:9876 #rocketMQ的ip地址
rocketmq.producer.group=my-boot-producer-group
4、创建一个生产者代码
@Component //需要添加到spring容器中 public class MyProducer { @Autowired private RocketMQTemplate template; 使用这个这个方法 /* * 发送简单消息 * */ public void sendMessage(String topic, String message){ template.convertAndSend(topic,message); } }
以上基本就定义好了生产者,可自行在业务代码中注入即可使用该方法。以下在测试类中尝试调用demo
@SpringBootTest class MyBootProducerDemoApplicationTests { @Autowired private MyProducer myProducer; @Test void testSendMessage(){ String topic = "my-boot-topic"; String message = "hello rocket mq springboot message"; myProducer.sendMessage(topic,message); System.out.println("消息发送成功~"); } }
二、创建消费者工程
1、通过idea创建一个springboot工程,在创建工程的时候,添加spring-boot-starter-web依赖即可。
2、在pom.xml文件中添加rocketMQ相关依赖,注意需要和使用rocketMQ版本对应,我用的是4.7.1版本rocketMQ
<dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-spring-boot-starter</artifactId> <version>2.1.1</version> </dependency>
3、在application.properties里面添加rocketMQ相关配置
rocketmq.name-server=192.168.61.128:9876 #rocketMQ的ip地址
4、创建消费者代码
@Component @RocketMQMessageListener(consumerGroup = "my-boot-consumer-group1",topic = "my-boot-topic") // 这第一个consumerGroup是自行定义的,就是消费组名称,topic是需要和生产者那一致。 public class MyConsume implements RocketMQListener<String> { @Override public void onMessage(String s) { System.out.println("消息为:"+ s); } }
启动springboot工程即可,就会消费到刚在生产者那生产MQ消息。
以上内容纯属学习使用!