如何在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) }