Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何仅打印卡夫卡记录值而不打印所有其他数据?_Java_Apache Kafka_Kafka Consumer Api - Fatal编程技术网

Java 如何仅打印卡夫卡记录值而不打印所有其他数据?

Java 如何仅打印卡夫卡记录值而不打印所有其他数据?,java,apache-kafka,kafka-consumer-api,Java,Apache Kafka,Kafka Consumer Api,所以我是卡夫卡的新手,我一直在学习一些教程并在互联网上搜索,我成功地用Java设置了一个生产者和消费者脚本。但是,我在eclipse控制台中得到了以下结果,而不仅仅是打印消息(值): ConsumerRecord(主题=MyTopic,分区=0,leaderEpoch=0,偏移量=131,CreateTime=1579178094212,序列化键大小=10,序列化值大小=31,标题=RecordHeaders(标题=[],isReadOnly=false),键=Simple键,值=Custom测

所以我是卡夫卡的新手,我一直在学习一些教程并在互联网上搜索,我成功地用Java设置了一个生产者和消费者脚本。但是,我在eclipse控制台中得到了以下结果,而不仅仅是打印消息(值):

ConsumerRecord(主题=MyTopic,分区=0,leaderEpoch=0,偏移量=131,CreateTime=1579178094212,序列化键大小=10,序列化值大小=31,标题=RecordHeaders(标题=[],isReadOnly=false),键=Simple键,值=Custom测试消息)
相反,如果我在windows控制台中运行消费者,我只会得到值,这意味着我会得到“自定义测试消息”

如何在eclipse控制台上仅从kafka消费者记录中选择并打印“value”属性?或任何其他财产

编辑

对于询问我如何打印所有数据的人,以下是我的消费者脚本中的代码:

package com.okta.javakafka.kafkajava;
导入java.util.array;
导入java.util.Properties;
导入java.util.UUID;
导入org.apache.kafka.clients.consumer.ConsumerConfig;
导入org.apache.kafka.clients.consumer.ConsumerRecord;
导入org.apache.kafka.clients.consumer.ConsumerRecords;
导入org.apache.kafka.clients.consumer.KafkaConsumer;
导入org.slf4j.Logger;
导入org.slf4j.LoggerFactory;
公共类SimpleConsumer{
公共静态void main(字符串[]args)引发ClassNotFoundException{
ch.qos.logback.classic.Logger root=(ch.qos.logback.classic.Logger)org.slf4j.LoggerFactory.getLogger(ch.qos.logback.classic.Logger.root\u Logger\u NAME);
setLevel(ch.qos.logback.classic.Level.INFO);
Properties props=新属性();
put(“bootstrap.servers”,“localhost:9092”);
props.put(“group.id”、“test”);
props.put(“enable.auto.commit”、“true”);
props.put(“auto.commit.interval.ms”,“1000”);
props.put(ConsumerConfig.GROUP_ID_CONFIG,UUID.randomuid().toString());
props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG,“最早”);
put(“key.deserializer”,Class.forName(“org.apache.kafka.common.serialization.StringDeserializer”);
put(“value.deserializer”,Class.forName(“org.apache.kafka.common.serialization.StringDeserializer”);
卡夫卡消费者=新卡夫卡消费者(道具);
consumer.subscribe(Arrays.asList(“MyTopic”);
试一试{
while(true){
ConsumerRecords记录=consumer.poll(1000);
对于(消费者记录:记录)
System.out.println(record.toString());
}
}最后{
consumer.close();
}
}
}

您可以执行
System.out.println(record.toString())。
这绝对是关于整个
消费者记录的

要仅打印值,需要执行以下操作:

System.out.println(record.value());

您可以
System.out.println(record.toString())。
这绝对是关于整个
消费者记录的

要仅打印值,需要执行以下操作:

System.out.println(record.value());

如何打印这些数据?请问是什么代码为您做的?
ConsumerRecord.value()
将为您提供该
https://kafka.apache.org/21/javadoc/org/apache/kafka/clients/consumer/ConsumerRecord.html#value--
@Deadpool谢谢。这就解决了问题trick@ArtemBilan添加了原始代码,希望对您有所帮助注意:您复制了
group.id
ConsumerConfig.group\u id\u CONFIG
,并且
Class.forName
不需要打印这些数据?请问是什么代码为您做的?
ConsumerRecord.value()
将为您提供该
https://kafka.apache.org/21/javadoc/org/apache/kafka/clients/consumer/ConsumerRecord.html#value--
@Deadpool谢谢。这就解决了问题trick@ArtemBilan添加了原始代码,希望对您有所帮助注意:您复制了
group.id
ConsumerConfig.group\u id\u CONFIG
,并且
Class.forName
不是必需的