【发布时间】:2018-10-16 07:30:03
【问题描述】:
我想在 kafka 主题中生成一条消息。该消息应具有以下模式:
{"targetFileInfo":{"path":"2018-05-07-10/row01-small-01.txt.ready"}}
我知道这是一个 json 模式,那么如何将那个 json 转换为 String 呢?
我用的是maven项目,那么需要哪些依赖才能使用
String stringData = JSON.stringify({"targetFileInfo":{"path":"2018-05-07-10/row01-small-01.txt.ready"}});
所以我认为最好不要将 Json 转换为字符串并将该按摩发送到 kafka 主题中。
我的代码就是这样,它可以发送一个字符串,但我不知道如何修改我的代码以发送上面的消息。也许你能帮帮我。
Producer<String, String> producer = null;
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("acks", "all");
props.put("retries", 0);
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
producer = new KafkaProducer<>(props);
String msg = "welcome";
producer.send(new ProducerRecord<String, String>("event", msg));
producer.close();
【问题讨论】:
-
stringify 不显示以选择它。
-
你的json好像已经是字符串了,不用再字符串化了。
-
那么你能给我举个例子,我如何在 kafka 中生成该消息吗? producer.send(new ProducerRecord
("event-orsted-v1", jsonNode)); -
是com.fasterxml.jackson.databind.JsonNode,还是来自其他包?
标签: java json maven apache-kafka kafka-producer-api