这是我的代码:
Properties props2 = new Properties();
props.put(CommonClientConfigs.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
AdminClient adminClient = AdminClient.create(props);
scala.collection.immutable.Map<TopicPartition,Object> offsets =
adminClient.listGroupOffsets("foo");
Option<Object> offset = offsets.get(new TopicPartition("test", 0));
System.out.println(Long.parseLong(offset.get().toString()));
我正在使用kafka_2.11_0.10.2.1
和kafka-clients_0.10.2.1
。 offsets.get()
有一个已编译的问题:The method get(TopicPartition) is ambiguous for the type Map<TopicPartition,Object>
。我应该如何解决?
答案 0 :(得分:0)
这可能不是最佳方法,但这当然是一种解决方法。
/* import statements */
import org.apache.kafka.clients.CommonClientConfigs;
import org.apache.kafka.common.TopicPartition;
import java.util.Map;
import java.util.Properties;
import kafka.admin.AdminClient;
import scala.collection.JavaConverters;
/* code snippet */
Properties props = new Properties();
props.put(CommonClientConfigs.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
AdminClient adminClient = AdminClient.create(props);
scala.collection.immutable.Map<TopicPartition, Object> offsets =
adminClient.listGroupOffsets("foo");
Map<TopicPartition, Object> javaOffsets =
JavaConverters.mapAsJavaMapConverter(offsets).asJava();
Object key = javaOffsets.get(new TopicPartition("my-topic", 0));
System.out.println(Long.parseLong(key.toString()));