kafka自定义序列化器
《kafka权威指南》
Customer.java
public class Customer {private int customId;private String customerName;public Customer(int customId, String customerName) {this.customId = customId;this.customerName = customerName;}public int getCustomId() {return customId;}public void setCustomId(int customId) {this.customId = customId;}public String getCustomerName() {return customerName;}public void setCustomerName(String customerName) {this.customerName = customerName;} }
CustomerSerializer.java
import org.apache.commons.lang.SerializationException; import org.apache.kafka.common.serialization.Serializer;import java.nio.ByteBuffer; import java.util.Map;/*** 自定义序列化器* */ public class CustomerSerializer implements Serializer<Customer> {public void configure(Map<String, ?> configs, boolean isKey) {//不做任何配置 }/*** Customer对象被序列化成:* 1. 表示customerId的4字节整数* 2. 表示customerName长度的4字节整数(如果customerName为空,则长度为0)* 3. 表示customerName的N个字节** */public byte[] serialize(String topic, Customer data) {try{byte[] serializedName;int stringSize;if(data == null)return null;else{if(data.getCustomerName() != null){serializedName = data.getCustomerName().getBytes("UTF-8");stringSize = serializedName.length;} //ifelse{serializedName = new byte[0];stringSize = 0;}ByteBuffer buffer = ByteBuffer.allocate(4 + 4 + stringSize);buffer.putInt(data.getCustomId());buffer.putInt(stringSize);buffer.put(serializedName);return buffer.array();} //else} catch (Exception e){e.printStackTrace();throw new SerializationException("Error when serizlizing custromer to byte[]" +e);}}public void close() {} }
转载于:https://www.cnblogs.com/luckygxf/p/9065579.html
kafka自定义序列化器相关推荐
- spring序列化_使用@JsonIdentityInfo的Spring自定义序列化器
spring序列化 介绍 Spring中从JSON到JSON的序列化/反序列化已广泛用于基于Spring的现代应用程序中. 它基于杰克逊. Jackson可以轻松地将任何POJO序列化为JSON,反之 ...
- 使用@JsonIdentityInfo的Spring自定义序列化器
介绍 Spring中从JSON到JSON的序列化/反序列化已广泛用于基于Spring的现代应用程序中. 它基于杰克逊. Jackson可以轻松地将任何POJO序列化为JSON,反之亦然. 这段代码写得 ...
- 60-40-020-序列化-自定义序列化
1.视界 1. 案例说明 有一个 Java 实体类 Customer,定义如下: package com.bonc.rdpe.kafka110.beans;/*** @Title Customer.j ...
- Redis序列化、RedisTemplate序列化方式大解读,介绍Genericjackson2jsonredisserializer序列化器的坑
前言 上一篇已经介绍了优雅的操作Redis: [小家Spring]Spring Boot中使用RedisTemplate优雅的操作Redis,并且解决RedisTemplate泛型注入的问题.本篇着重 ...
- 客户端序列码生成_Django REST Framework教程(2): 序列化器介绍及开发基于函数视图的API...
在上篇文章中,我们已经介绍了为什么要学习DRF,什么是序列化以及什么是符合RESTful规范的Web API.在本篇文章中我们将以博客为例,使用DRF提供的序列化器(Serializers类)开发两个 ...
- JDK11下J2Cache序列化器反射异常及--illegal-access解决方案
问题现象 最近线上部署应用时,发现如下异常: Failed to instantiate [net.oschina.j2cache.CacheChannel]: Factory method 'cac ...
- 序列化器serializers的使用
serializer.py中设置序列化器 from rest_framework import serializers from myapp.models import Poemclass PoemS ...
- 快速上手Django(六) -Django之Django drf 序列化器Serializer类
文章目录 快速上手Django(六) -Django之Django drf 序列化器Serializer类 1. 背景 2. 使用思路 3. 代码demo 4. [重要]序列化类 ModelSeria ...
- Django 基础(13)-Django drf 序列化器类to_representation和to_internal_value(处理返回的日期格式)、序列化类 ModelSerializer
文章目录 一.Django drf 序列化 1. 背景 2. 使用思路 3. 代码demo 4. [重要]序列化类 ModelSerializer 5. DRF序列化器to_representatio ...
最新文章
- 《AngularJS实战》——3.1 模板中的过滤器
- Java设计模式(十二):状态设计模式
- 猫猫学iOS之小知识iOS启动动画_Launch Screen的运用
- 《软件工程》实验报告——软件测试
- 外部服务发现之 ingress(一) traefik 的安装使用
- 【elasticsearch系列】windows安装IK分词器插件
- 数据结构与算法分析(四)——C++实现栈
- 欢迎访问我的Github
- CSS中的Position、Float属性的一些深入探讨
- [LeetCode] 1. Two Sum
- 【SQL Server】入门教程-基础篇(完结)
- Javashop 7.0 支付成功以后库里面没有记录问题
- 字节跳动“蚕食”B端,搅局企业服务?
- 解决ajax回调函数不执行success的问题
- SSH之known_hosts文件
- 领取CPS外卖红包攻略及小程序项目源码
- 工业路由器智能井盖监控方案
- U盘产品如何做好软文推广利用软文来打造为产品引流宣传
- 西门子PLC SMART 200和HMI连接组态编程
- 关于淘宝 TOP 开发 使用的一些心得,问题不断更新中。。。
热门文章
- python建立字典的程序_Python中如何创建字典Dict
- python写小猪佩奇_【python】使用python自动画一只小猪佩奇(源码)-Go语言中文社区...
- [Springboot]SpringCache + Redis实现数据缓存
- 个人笔记上传 -- redis安装
- 设计模式系列之「工厂方法模式」
- Hibernate之事务处理
- 2016/11/14
- Uva1343-The Rotation Game-IDA*算法
- 关于tomcat的思考
- 最近wampserver总是开不开,一直离线,重启就好,各位有何看法?