简体   繁体   English

为什么 org.apache.kafka.common.serialization 中的 Serializer<> 接口的重写 serialize() 方法中有“主题”参数

[英]Why is there a "topic" parameter in the overridden serialize() method from Serializer<> interface in org.apache.kafka.common.serialization

I have observed that implementations of the method serialize() of the Serializer<> interface has two parameters:我观察到 Serializer<> 接口的方法 serialize() 的实现有两个参数:

byte[] serialize(String topic, T data) byte[] 序列化(字符串主题,T 数据)

but the method body does not require String topic parameter at all.但方法体根本不需要字符串主题参数。 So why does it exist?那么它为什么存在呢?

Sample Implementation available in the package org.apache.kafka.common.serialization: package org.apache.kafka.common.serialization 中提供的示例实现:

@Override
    public byte[] serialize(String topic, String data) {
        try {
            if (data == null)
                return null;
            else
                return data.getBytes(encoding);
        } catch (UnsupportedEncodingException e) {
            throw new SerializationException("Error when serializing string to byte[] due to unsupported encoding " + encoding);
        }
    }

In this specific implementation, indeed there's no usage.在这个具体的实现中,确实没有什么用处。 Yet, this parameter may be used by different / advanced Serializers.然而,这个参数可能被不同的/高级的序列化器使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用 Python 反序列化 Java org.apache.kafka.common.serialization 序列化对象 - Deserializing Java org.apache.kafka.common.serialization serialized objects with Python org.apache.kafka.common.KafkaException:SaleRequestFactory 类不是 org.apache.kafka.common.serialization.Serializer 的实例 - org.apache.kafka.common.KafkaException: class SaleRequestFactory is not an instance of org.apache.kafka.common.serialization.Serializer Spark因org.apache.kafka.common.serialization.StringDeserializer的NoClassDefFoundError而失败 - Spark fails with NoClassDefFoundError for org.apache.kafka.common.serialization.StringDeserializer KafkaException:class 不是 org.apache.kafka.common.serialization.Deserializer 的实例 - KafkaException: class is not an instance of org.apache.kafka.common.serialization.Deserializer 发现异常.....org.apache.kafka.common.KafkaException:无法使用自定义对象序列化程序构建 kafka 生产者 - Exception found.....org.apache.kafka.common.KafkaException: Failed to construct kafka producer using custom object Serializer Spring Cloud Stream Kafka-找不到Serde类:org.apache.kafka.common.serialization.Serde $ StringSerde - Spring Cloud Stream Kafka - Serde class not found: org.apache.kafka.common.serialization.Serde$StringSerde org.apache.kafka.common.errors.TimeoutException:60000 毫秒后元数据中不存在主题 - org.apache.kafka.common.errors.TimeoutException: Topic not present in metadata after 60000 ms java.lang.NoClassDefFoundError: org/apache/kafka/common/serialization/ByteArraySerializer 用于火花流 - java.lang.NoClassDefFoundError: org/apache/kafka/common/serialization/ByteArraySerializer for spark streaming org.apache.kafka.common.errors.UnknownTopicOrPartitionException:此服务器未托管此主题分区 - org.apache.kafka.common.errors.UnknownTopicOrPartitionException: This server does not host this topic-partition 运行 Spark 示例:ClassNotFoundException: org.apache.kafka.common.serialization.StringDeserializer - Running Spark example: ClassNotFoundException: org.apache.kafka.common.serialization.StringDeserializer
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM