zoukankan      html  css  js  c++  java
  • org.apache.kafka.common.errors.SerializationException: Error deserializing... Caused by: org.apache.kafka.common.errors.SerializationException: Size of data received by IntegerDeserializer is not 4

    原因,最近开发的kafka消息接收,突然报如下错:

    org.apache.kafka.common.errors.SerializationException: Error deserializing... Caused by: org.apache.kafka.common.errors.SerializationException: Size of data received by IntegerDeserializer is not 4

    原因如下,我的kafka序列化配置中配置的序列化类如下:

    key.deserializer=org.apache.kafka.common.serialization.IntegerDeserializer
    value.deserializer=org.apache.kafka.common.serialization.StringDeserializer
    IntegerDeserializer源码如下:
    public Integer deserialize(String topic, byte[] data) {
            if (data == null) {
                return null;
            } else if (data.length != 4) {
                throw new SerializationException("Size of data received by IntegerDeserializer is not 4");
            } else {
                int value = 0;
                byte[] arr$ = data;
                int len$ = data.length;
    
                for(int i$ = 0; i$ < len$; ++i$) {
                    byte b = arr$[i$];
                    value <<= 8;
                    value |= b & 255;
                }
    
                return value;
            }
        }

    解决方法,将配置做如下修改:

    key.deserializer=org.apache.kafka.common.serialization.StringDeserializer
    value.deserializer=org.apache.kafka.common.serialization.StringDeserializer

    问题解决。

     
  • 相关阅读:
    15-01-18 C# 面向对象 13
    15-01-15 C# 面向对象 12
    15-01-12 C# 面向对象 11
    15-01-11 C# 面向对象 10
    15-01-10 C# 面向对象 09
    了解 Azure 中的无服务器计算
    了解 Azure 虚拟机
    什么是 Azure?
    云服务的类型
    云部署模型
  • 原文地址:https://www.cnblogs.com/jxxblogs/p/13272600.html
Copyright © 2011-2022 走看看