最近比较忙,好长时间没有更新了。正好最近在使用rocketMQ,先聊聊使用过程中的一些情况吧。
引入
springboot环境中引入rocketMQ很简单,加入相应的starter即可:
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
</dependency>
一般我们在springcloud环境下添加:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-bus-rocketmq</artifactId>
</dependency>
配置
先看一下相关的配置类RocketMQProperties:
配置也比较简单,如果只是消费端,只需要指定nameServer地址;如果是生产端,配置producer相关属性。
nameServer是必须的,生产端producer.group是必须的。
下面是一个示例:
rocketmq:
name-server: 127.0.0.1:9876
producer:
group: test_producer
生产端
先看一下RocketMQAutoConfiguration自动装配类:
@Configuration
@EnableConfigurationProperties(RocketMQProperties.class)
@ConditionalOnClass({ MQAdmin.class, ObjectMapper.class })
@ConditionalOnProperty(prefix = "rocketmq", value = "name-server")
@Import({ JacksonFallbackConfiguration.class, ListenerContainerConfiguration.class })
@AutoConfigureAfter(JacksonAutoConfiguration.class)
public class RocketMQAutoConfiguration {
@Bean
@ConditionalOnMissingBean(DefaultMQProducer.class)
@ConditionalOnProperty(prefix = "rock