rocketmq消息注解基于springboot的简单应用及默认详细配置

这篇具有很好参考价值的文章主要介绍了rocketmq消息注解基于springboot的简单应用及默认详细配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

        rocketmq消息组件在springboot框架中的应用,使用rocketmq的整合包进行编码实现。

编码参考

  • 引入rocketmq依赖jar, 最新版本参考GitHub - apache/rocketmq-spring: Apache RocketMQ Spring Integration
        <dependency>
            <groupId>org.apache.rocketmq</groupId>
            <artifactId>rocketmq-spring-boot-starter</artifactId>
            <version>2.2.3</version>
        </dependency>
  • 基本配置
rocketmq:
  name-server: 192.168.15.175:9876;192.168.15.77:9876
  producer:
    group: ta-cipher-encode

rocketmq.name-server:  rocketmq集群地址,单点或集群

rocketmq.producer.group : 生产者组名,用于标识一组具有相同功能的生产者

  • 其他配置

Name Server相关配置:
        rocketmq.namesrv.domain:Name Server的域名,用于自动发现Name Server地址。

Producer相关配置:
        rocketmq.producer.group:生产者组名,用于标识一组具有相同功能的生产者。
        rocketmq.producer.send-msg-timeout:发送消息的超时时间,默认为3秒。
        rocketmq.producer.compress-msg-body-over-howmuch:消息体大于指定字节大小时启用压缩。

Consumer相关配置:
        rocketmq.consumer.group:消费者组名,用于标识一组具有相同功能的消费者。
        rocketmq.consumer.consume-thread-min:消费者线程池的最小线程数。
        rocketmq.consumer.consume-thread-max:消费者线程池的最大线程数。
        rocketmq.consumer.consume-message-batch-max-size:批量消费消息时每次拉取的最大消息数量。
        rocketmq.consumer.pull-interval:拉取消息间隔时间,默认为0,表示尽可能快地拉取消息。

Message相关配置:
        rocketmq.message.max-size:消息的最大大小,默认为4MB。
        rocketmq.message.compress-level:消息压缩级别,可选值为0(不压缩)到9(最高压缩率)。
        rocketmq.message.timeout:消息的过期时间,默认为3天。

集群模式相关配置:
        rocketmq.broker.cluster.name:Broker集群的名称。
        rocketmq.broker.cluster.slave-read-only:Slave节点是否只读,默认为true。

  • 生产端代码
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
@Slf4j
public class RmqProvdier{
    @Autowired
    private RocketMQTemplate rocketMQTemplate;

    public boolean send(String message) {
        try {
            // 发送消息
            rocketMQTemplate.convertAndSend("ta-cipher-persist", message);
        } catch (Exception e) {
            log.error("send message:{}", message, e);
            return false;
        }
        return true;
    }
}
  • 消费端代码
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;

@Component
@Slf4j
@RocketMQMessageListener(topic = "ta-cipher-persist", consumerGroup = "ta-cipher-encode")
public class RocketMQConsumer implements RocketMQListener<String> {

    @Override
    public void onMessage(String message) {
        try {
            log.info("message:{}", message);
        } catch (Exception e) {
            log.error("errorMessage:{}", message);
            // 抛出异常会重新消费消息
            throw new RuntimeException("Message processing failed", e);
        }
    }
}

@RocketMQMessageListener参数文章来源地址https://www.toymoban.com/news/detail-658499.html

  • topic 消费这从那个topic中读取消息
  • consumerGroup 当前消费者的消费组

到了这里,关于rocketmq消息注解基于springboot的简单应用及默认详细配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何在SpringBoot中使用@Value注解来设置默认值

    👽👽👽在Spring Boot中,使用@Value注解可以为属性设置默认值。 @Value注解可以用于注入以下类型的属性: 1、基本数据类型(如字符串、整数、浮点数等) 2、基本数据类型的数组 3、集合类型(如List、Set等) 4、自定义数据类型,包括自定义对象和自定义对象的集合 5、Spri

    2024年02月11日
    浏览(25)
  • 分布式消息中间件RocketMQ的应用

    所有代码同步至GitCode:https://gitcode.net/ruozhuliufeng/test-rocketmq.git 普通消息 消息发送分类 ​ Producer对于消息的发送方式也有多种选择,不同的方式会产生不同的系统效果。 同步发送消息 ​ 同步发送消息是指,Producer发出一条消息后,会在收到MQ返回的ACK之后才发下一条消息。

    2024年02月05日
    浏览(71)
  • SpringBoot整合消息中间件(ActiveMQ,RabbitMQ,RocketMQ,Kafka)

    消息的发送方:生产者 消息的接收方:消费者 同步消息:发送方发送消息到接收方,接收方有所回应后才能够进行下一次的消息发送 异步消息:不需要接收方回应就可以进行下一步的发送 什么是消息队列? 当此时有很多个用户同时访问服务器,需要服务器进行操作,但此

    2024年04月27日
    浏览(39)
  • 【Spring Boot】Spring Boot 集成 RocketMQ 实现简单的消息发送和消费

    本文主要有以下内容: 简单消息的发送 顺序消息的发送 RocketMQTemplate的API介绍 环境搭建: RocketMQ的安装教程:在官网上下载bin文件,解压到本地,并配置环境变量,如下图所示: 在 Spring boot 项目中引入 RocketMQ 依赖: 在application.yml增加相关配置: 在 Spring Boot 中使用RocketM

    2024年02月14日
    浏览(32)
  • 解析RocketMQ:高性能分布式消息队列的原理与应用

    什么是消息队列 消息队列是一种消息传递机制,用于在应用程序和系统之间传递消息,实现解耦和异步通信。它通过将消息发送到一个中间代理(消息队列),然后由消费者从该队列中获取消息并处理。 RocketMQ简介 RocketMQ是阿里巴巴开源的一款高性能分布式消息队列系统。它

    2024年02月14日
    浏览(35)
  • SpringBoot简单使用切面类(@aspect注解)

    简介 Spring Boot中的AOP(Aspect Oriented Programming, 面向切面编程)可以让我们实现一些与业务逻辑无关的功能,如日志、事务、安全等。 特点 把这些跨切面关注点抽取出来,实现解耦。 使用切面承载这些功能的实现,而不污染业务逻辑。 在定义好的切入点Join Point,执行这些功能,比如方

    2024年02月10日
    浏览(31)
  • Springboot高频应用注解

    本文旨在记录开发中遇到的SpringBoot高频注解,并针对其具体应用记录。 一、LOMBOK相关注解 @Slf4j  目的在于使用Log的日志功能,可以在JAVA中自动生成日志记录器!使用时在类上添加@Slf4j注解后即可以在类中调用log方法 如 可以 调用 log.info 或者 log.debug 或 log.error 方法等 @Data

    2024年02月07日
    浏览(20)
  • springboot实现简单的消息对话

    目录 一、前言 二、实战步骤 步骤 1: 步骤 2: 步骤 3: 步骤 4: 要在Spring Boot项目中实现消息对话,你可以使用WebSocket技术。WebSocket是一种在客户端和服务器之间提供实时双向通信的协议。 添加依赖 首先,在您的Spring Boot项目的 pom.xml 文件中添加以下依赖: 创建WebSocket配置

    2024年02月10日
    浏览(21)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包