Как выставить Java-метод для Kafka (commitSync с разделами) в Scala? - PullRequest
0 голосов
/ 27 апреля 2018

Я пытаюсь представить метод Java через Scala (более подробно об оригинальном методе Java - он исходит от Kafka )

Это оригинальный метод Java:

public void commitSync(Map<TopicPartition,OffsetAndMetadata> offsets)

Как выставить и передать параметры в метод в Scala? У меня есть что-то вроде:

def commitSync() = {
     consumer.commitSync(...)
}

Спасибо.

1 Ответ

0 голосов
/ 27 апреля 2018

Ваш фрагмент 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)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...