Apache Kafka-Spring Kafka将泛型反序列化为对象而非LinkedHashMap
文章目录
- Pre
- Question
- Answer
- 扩展知识
Pre
#kafka
spring.kafka.bootstrap-servers=10.11.114.247:9092
spring.kafka.producer.acks=1
spring.kafka.producer.retries=3
spring.kafka.producer.batch-size=16384
spring.kafka.producer.buffer-memory=33554432
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.value-serializer=org.springframework.kafka.support.serializer.JsonSerializerspring.kafka.consumer.group-id=zfprocessor_group
spring.kafka.consumer.enable-auto-commit=false
spring.kafka.consumer.auto-offset-reset=earliest
spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.kafka.consumer.value-deserializer=org.springframework.kafka.support.serializer.JsonDeserializer
spring.kafka.consumer.properties.spring.json.trusted.packages=com.artisan.common.entity.messages
spring.kafka.consumer.max-poll-records=500
spring.kafka.consumer.fetch-min-size=10
spring.kafka.consumer.fetch-max-wait=10000msspring.kafka.listener.missing-topics-fatal=false
spring.kafka.listener.type=batch
spring.kafka.listener.ack-mode=manuallogging.level.org.springframework.kafka=ERROR
logging.level.org.apache.kafka=ERROR
我们看看消费者反序列化,解析value的配置
spring.kafka.consumer.value-deserializer=org.springframework.kafka.support.serializer.JsonDeserializer
Question
spring kafka 使用Jackson序列化, 如果存入kafka中的对象 包含 泛型,那么 默认情况下,这个泛型对象会被Jackson反序列为 LinkedHashMap . 抛出类型转换异常…
Answer
在实体类上增加如下注解
@Data
public class Message<T> {private int messageCode;@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS,include = JsonTypeInfo.As.PROPERTY,property = "@class")private T messageContent;}
反序列化后,多了个节点
扩展知识
Jackson JSON - Using @JsonTypeInfo annotation to handle polymorphic types
Apache Kafka-Spring Kafka将泛型反序列化为对象而非LinkedHashMap相关推荐
- 利用VS2012自带功能,将xml文档反序列化为对象
一.要注意的事项 1.项目框架在.NET Framework 4.5及其之上,才支持将xml反序列化为对象 2.序列化和反序列化名词解释 ①序列化是将对象状态转换为可保持或传输的格式的过程. ②反序列 ...
- JavaScriptSerializer类 对象序列化为JSON,JSON反序列化为对象
JavaScriptSerializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据.说白了就是能够直接将一个C#对象传送到前台页面成为javascript对 ...
- c#将对象序列化为字符串和将字符串反序列化为对象
asp.net开发中,页面间传值最长用到的是url显式传参,session,application和cookie传值等.对于复杂对象页面传值,如果不考虑性能影响的话,通常可以使用session或者ap ...
- jackson java反序列化_java – Jackson JSON强制反序列化为对象
我得到了一个代表团的课程设置 public class MyClass implements List { public String name; public List target; // thi ...
- GWT中如何将EMF对象存储为XMI/从XMI反序列化为对象
由于GWT对XML解析的支持并不够,以及并没有提供java对象的反射,因此EMF对象的序列化/反序列化是一个世界难题. 幸运的是,gwt-html5-graph项目(http://code.googl ...
- Apache Kafka-SpringBoot整合Kafka发送复杂对象
文章目录 Spring Kafka概述 Code 依赖 配置文件 消息 生产者 消费者 单元测试: 同步发送 测试 单元测试: 异步发送 源码地址 Spring Kafka概述 Spring提供了 S ...
- 关于Kafka Spring Boot的教程
Apache Kafka是一个分布式数据流平台,具有发布和订阅数据流,以容错方式存储记录以及处理该数据流等功能. 它用于构建实时流数据管道,可以执行功能,例如将数据流从一个应用程序可靠地传递到另一个应 ...
- Apache Kafka教程--Kafka新手入门
Apache Kafka教程–Kafka新手入门 Kafka Assistant 是一款 Kafka GUI 管理工具--管理Broker,Topic,Group.查看消费详情.监控服务器状态.支持多 ...
- 自定义spring kafka consumer 线程池
序 本文讲述一下如何自定义spring kafka的consumer线程池 KafkaMessageListenerContainer spring-kafka-1.2.3.RELEASE-sourc ...
最新文章
- 计算机考研数学试卷类型,数学会是你的计算机考研拦路虎吗?
- centos 7 yum 安装 MongoDB 4.2
- windows怎么查看进程的启动时间
- Hadoop2.2.0+HA+zookeeper3.4.5详细配置过程+错误处理(一)
- partial 分部类-庞大类的瘦身计划
- C++ STL学习笔记 : 2. unordered map 容器
- 同步,异步,多线程,你怎么看?
- 实现indexof()
- python网址编码转换_python字符串与url编码的转换实例
- 【linux,跟Java初学者分享几点经验
- 谷歌修复又一枚遭在野利用的 Chrome 0day
- Linux软件万花筒
- setInterval 和 setTimeout
- 【BZOJ1095】【ZJOI2007】捉迷藏 [动态点分治]
- ISO9001和ISO27001质量管理体系(详解)
- 不一般的电路设计——什么是电压采集采样?
- 基于uart的RS232和RS485总线
- bootbox.confirm 官方例子 网址
- LDPC — 信道编码
- win7系统如何一键清理系统垃圾【系统天地】
热门文章
- mysql 2.71828_数学中的e=2.71828……到底是什么东西?
- php fsockopen socket,基于php socket(fsockopen)的应用实例分析
- Pytorch学习-tensorboard的使用
- python super 理解(四)
- Python用拉格朗日法进行数据横向插值
- 38. Leetcode 101. 对称二叉树 (二叉树-二叉树性质)
- 4. Leetcode 18. 四数之和 (数组-双向双指针)
- 最长的可整合子数组的长度
- DQN 笔记 State-action Value Function(Q-function)
- keras 实战系列之Self-Attention详细解析