kafka使用高级api获取指定数量消息,低级api更好用只不过还未调试通过,后期再跟上.
public Map<String, List<Object>> getMessages(long maxReads, long timeout,
List<String> topics) {stop = false;
kafkaConsumer = new KafkaConsumer<>(props);
kafkaConsumer.subscribe(topics);
Map<String, List<Object>> messages = new HashMap<>();
for (String topic : topics) {
messages.put(topic, new ArrayList<Object>());
}
Long counts = maxReads;
ConsumerRecord<byte[], byte[]> record = null;
ConsumerRecords<byte[], byte[]> records = null;
try {
while (!stop) {
if (counts == 0)
break;
records = kafkaConsumer.poll(timeout);
i