springboot 集成rocketmq使用注解方式生成生产者
时间: 2024-09-15 14:00:19 浏览: 46
springboot-rocketmq
Spring Boot 集成RocketMQ并使用注解方式生成生产者主要涉及到Spring的自动配置和RocketMQ的相关注解。在Spring Boot中,通常我们会使用`@RocketMQMessageListener`注解来创建一个消息监听器容器,并使用`@RocketMQTemplate`来发送消息。
首先,需要在Spring Boot项目中添加对RocketMQ的依赖,例如通过Maven管理依赖的方式,在pom.xml文件中添加如下依赖:
```xml
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>最新版本号</version>
</dependency>
```
然后,在Spring Boot配置类中启用RocketMQ自动配置:
```java
@SpringBootApplication
@EnableRocketMQ
public class RocketMQApplication {
public static void main(String[] args) {
SpringApplication.run(RocketMQApplication.class, args);
}
}
```
接下来,可以使用`@RocketMQTemplate`注解来注入一个RocketMQ的模板类,用于发送消息:
```java
@RestController
@RequestMapping("/mq")
public class RocketMQController {
@Autowired
private RocketMQTemplate rocketMQTemplate;
@GetMapping("/send/{message}")
public String sendMessage(@PathVariable String message) {
// 发送消息到指定主题
rocketMQTemplate.send("test-topic:tag", message);
return "发送成功";
}
}
```
在此基础上,如果要创建一个消息监听器,可以使用`@RocketMQMessageListener`注解定义消息监听器容器和处理逻辑:
```java
@Service
@RocketMQMessageListener(
topic = "test-topic",
consumerGroup = "test-consumer-group",
selectorExpression = "tag"
)
public class TestConsumer implements RocketMQListener<String> {
@Override
public void onMessage(String message) {
System.out.printf("接收到消息:%s %n", message);
}
}
```
以上代码展示了如何在Spring Boot项目中集成RocketMQ,并使用注解方式创建了消息生产者和消费者。
阅读全文