代码编写
pom文件
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
yml文件
server:
port: 8080
spring:
application:
name: springboot-rocketmq
rocketmq:
name-server: 127.0.0.1:9876
producer:
group: producerGroup
consumer
package com.example.demo.example3.service;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class ConsumerService {
private RocketMQTemplate rocketMQTemplate;
@Autowired
public void setRocketMQTemplate(RocketMQTemplate rocketMQTemplate) {
this.rocketMQTemplate = rocketMQTemplate;
}
public void createOrder(String name){
System.out.println("正在生成订单。。。");
rocketMQTemplate.convertAndSend("topic_rocket",name);
}
}
provider
package com.example.demo.example3.service;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Service;
@Service
@RocketMQMessageListener(consumerGroup = "consumerGroup",topic = "topic_rocket", selectorExpression = "*")
public class ProductService implements RocketMQListener {
@Override
public void onMessage(Object o) {
System.out.println("正在生产"+o);
System.out.println(o+"生产成功");
}
}
测试类
package com.example.demo.example3.controller;
import com.example.demo.example3.service.ConsumerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/shop")
public class ShopController {
@Autowired
ConsumerService consumerService;
@RequestMapping("/createOrder")
public void createOrder(){
consumerService.createOrder("阿莫斯之弓");
}
}
测试结果