springboot集成购买阿里的rocketmq

上篇文章介绍了springboot集成自建rocketmq双主双从

https://blog.csdn.net/C18298182575/article/details/121381621

这里说集成购买的rocketmq,主要区别在哪

1.多了一个client-ip,之前这个是不需要配置的,默认取本机ip

2.access-key secret-key,这是对接阿里,腾讯等必须的密钥,配置即可

3.在代码层面实现以上两个配置

配置

rocketmq:
  name-server: "192.168.*:9876;192.168.*:9876"
  access-channel: CLOUD
  client:
   ip: ${HOST_IP:${spring.cloud.client.ip-address}}
  producer:
    access-key: "*"
    secret-key: "*"
    #发送消息超时时间,默认3000
    sendMsgTimeout: 3000
    #发送消息失败重试次数,默认2
    retryTimesWhenSendFailed: 2
    algorithm:
      producerGroup: algorithm-api
      #跟接受的集群组有关,同一个集群组所采用的comsumerGroup是一致的
    group: GID_push
   
    
  consumer:
    access-key: "*"
    secret-key: "*"
    #跟生产者的topic对应
    consumeMessageBatchMaxSize: 3
    consumeThreadMin: 20
    consumeThreadMax: 64
    pay_group: GID_pay
    topicAndTagInfos:
    

之前说过

RocketMQProperties,这个配置类与配置文件属性对应,生产者消费者都有以下属性,自动实现注入bean
private String accessKey;
private String secretKey;

client-ip配置,是在消费端,如下多实现一个接口,

RocketMQPushConsumerLifecycleListener
@Component
@Slf4j
@RocketMQMessageListener(topic = "${rocketmq.consumer.topicAndTagInfos.topic}", consumerGroup = "${rocketmq.consumer.group}")
public class PayConsumer implements RocketMQListener<MessageExt>, RocketMQPushConsumerLifecycleListener {

    @Value("${rocketmq.client.ip}")
    private String hostIp;

    @Override
    @Transactional(rollbackFor = Exception.class)
    public void onMessage(MessageExt message) {
	
    }

    @Override
    public void prepareStart(DefaultMQPushConsumer consumer) {
	consumer.setClientIP(hostIp);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值