Spring Boot 整合——kafka消息转换、使用异步获取消息以及使用事务消息

Spring Boot 整合之前的内容

项目名称 描述 地址
base-data-mybatis 整合mybatis-plus(实际上官方教程已经很多,只做了自定义插件) 未完成
base-jpa JPA基础使用 JPA 数据模型定义
base-jpa-query JPA多表关联使用 JPA 数据模型关联操作
base-log 日志配置 SpringBoot日志配置
base-rabbit rabbitMQ简单使用 RabbitMQ基础使用
base-rabbit3 rabbitMQ一些自定义配置 消息确认回调、消息转换以及消息异常处理
base-rabbit-delay rabbitMQ延时队列 延时队列和消息重试
base-redis redis简单使用 RedisTemplate基础使用;Redis实现简单的发布订阅以及配置序列化方式
base-redis-lock redis分布式锁 Redis分布式锁的简单实现
base-redis-delay 基于有赞的延时消息方案的简单实现 延时队列的简单实现
base-swagger swagger使用 wagger2使用
base-mongodb mongodb简单使用 MongoDB安装以及Spring Boot整合,MongoDB实体创建以及简单CRUD,MongoDB聚合操作,MongoDB分组去重以及MongoDB联表查询

关于版本

依赖 版本
springboot 2.0.8.RELEASE
mongodb 4.0.14

项目地址

因为涉及的代码较多,所以并不会贴出所有代码。本篇文章涉及的源码下载地址: https://gitee.com/daifyutils/springboot-samples

消息处理

针对消息的处理主要有两种方式:

  1. 对消息序列化的设置
  2. 实现RecordMessageConverter接口对消息进行处理

消息序列化

消息序列化主要是在初始化factory的时候对key和value进行操作的序列化设置。

    @Bean
    @ConditionalOnMissingBean(ConsumerFactory.class)
    public ConsumerFactory<?, ?> kafkaConsumerFactory() {
   
        DefaultKafkaConsumerFactory<String, Object> consumerFactory = new DefaultKafkaConsumerFactory<>(
                this.properties.buildConsumerProperties());
        // 对数据进行反序列化
        consumerFactory.setKeyDeserializer(new StringDeserializer());
        // 需要注意在对值进行解密的时候,kafka需要指定安全包名,或者使用*表示所有
        JsonDeserializer jsonDeserializer = new JsonDeserializer();
        jsonDeserializer.addTrustedPackages("*");
        consumerFactory.setValueDeserializer(jsonDeserializer);

        return consumerFactory;
    }

    @Bean
    @ConditionalOnMissingBean(ProducerFactory.class)
    public ProducerFactory<?, ?> kafkaProducerFactory() {
   
        DefaultKafkaProducerFactory<String, Object> factory = new DefaultKafkaProducerFactory<>(
            this.properties.buildProducerProperties());
        String transactionIdPrefix = this.properties.getProducer()
            .getTransactionIdPrefix();
        // 对数据进行序列化
        factory.setKeySerializer
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大·风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值