首页 > 解决方案 > Avro 模式对象通用 kafkaTemplate 类型 - 生成消息

问题描述

我的卡夫卡模板看起来像这样的情况:

KafkaTemplate<String, InternalSelfServiceData> kafkaTemplate;

其中: InternalSelfServiceData -> Avro 模式对象

当我调用kafkaTemplate.send()我的返回类型是ListenableFuture<SendResult<String, InternalSelfServiceData>>. 接下来,我将此数据作为参数传递给下一个方法,但我希望这个方法是通用的,所以我希望他们接受这样的参数ListenableFuture<SendResult<String, ? extends SpecificRecordBase>>

IntelliJ 中出现的错误是:

必需类型:ListenableFuture <SendResult<String, ? 扩展特定记录库>>

提供:ListenableFuture <SendResult<String, InternalSelfServiceData>

有什么建议我想念的吗?

标签: javaapache-kafkaavrokafka-producer-api

解决方案


尝试将您的数据编码为字节数组(org.apache.avro.specific.SpecificDatumWriter)


推荐阅读