import java.time.LocalDateTime
import java.util.Properties
import com.fasterxml.jackson.databind.ObjectMapper
import org.apache.kafka.clients.producer.{Callback, KafkaProducer, ProducerRecord, RecordMetadata}
object Send2Kafka {
def main(args: Array[String]): Unit = {
import java.time.format.DateTimeFormatter
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
val kafkaProps = new Properties()
// 设置Broker地址
kafkaProps.put("bootstrap.servers", "10.215.192.53:9092,10.215.8.240:9092,10.215.9.202:9092")
// 设置kv的序列化类型为 StringSerializer
kafkaProps.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer")
kafkaProps.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer")
// 创建 producer 客户端并且将config属性赋值进去
val producer = new KafkaProducer[String, String](kafkaProps)
val mapper = new ObjectMapper()
for (i <- 0L until 3L) {
val message0 = mapper.writeValueAsString(new Record(i, "desc" + i, LocalDateTime.now().format(formatter)))
val message1 = mapper.writeValueAsString(new Record(i, "desc" + i, LocalDateTime.now().minusSeconds(1).format(formatter)))
val message3 = mapper.writeValueAsString(new Record(i, "desc" + i, LocalDateTime.now().minusSeconds(3).format(formatter)))
println(message0)
println(message1)
println(message3)
producer.send(new ProducerRecord[String, String]("test", i + "", message0))
producer.send(new ProducerRecord[String, String]("test", i + "", message1))
producer.send(new ProducerRecord[String, String]("test", i + "", message3))
}
producer.flush()
}
}
kafka 发送测试数据
最新推荐文章于 2025-04-26 19:00:25 发布