如何在Scala中为Kafka(带分区的commitSync)公开Java方法?
我试图通过Scala公开Java方法(有关原始java方法的更多细节 – 它来自Kafka )
这是原始的Java方法:
public void commitSync(Map offsets)
如何向Scala中的方法公开和传递参数? 我有类似的东西:
def commitSync() = { consumer.commitSync(...) }
谢谢。
你的Scala片段看起来是正确的,这就是我填写其余部分的方法:
import org.apache.kafka.clients.consumer.{KafkaConsumer, OffsetAndMetadata} import org.apache.kafka.common.TopicPartition import collection.mutable.Map import collection.JavaConverters._ //initialise your consumer the way you want val consumer = createKafkaConsumer(config, subscriptions) //you could accept a scala.collection.mutable.Map here def commitSync(offsets: Map[TopicPartition, OffsetAndMetadata]) = { //and then convert it to a java.util.Map consumer.commitSync(offsets.asJava) }
- Storm-Kafka多个鲸鱼喷水,如何分担负荷?
- 如何使用Java中的Structured Streaming从Kafka反序列化记录?
- 带解码器问题的Kafka Avro Consumer
- 连接到Apache Kafka多节点群集中的Zookeeper
- SpringXD和Spring Integration:每隔X分钟从kafka主题中读取一遍,然后发送到另一个主题
- Apache Kafka:无法更新Metadata / java.nio.channels.ClosedChannelException
- Apache Kafka – 关于主题/分区的KafkaStream
- Apache Storm Trident和Kafka Spout Integration
- Kafka如何为每个主题存储偏移量?