RocketMQ一、使用RocketMQ

本文介绍了在Spring Boot和Spring Cloud Alibaba环境下使用RocketMQ的步骤,包括引入依赖、配置NameServer、创建生产者与消费者。重点讲解了RocketMQTemplate的同步与异步发送消息,以及消费端的消息接收与类型转换。还探讨了如何处理基于同一基类的消息转换问题,提出利用Header存储子类Class信息的解决方案。

最近比较忙,好长时间没有更新了。正好最近在使用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 = "rocketmq", value = {"name-ser
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值