Kafka producer

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35063002/article/details/80926572


import kafka.producer.{KeyedMessage, Producer, ProducerConfig}

val props = new Properties()
props.put("metadata.broker.list", Conf.Brokers) // broker 如果有多个,中间使用逗号分隔
props.put("serializer.class", "kafka.serializer.StringEncoder")
props.put("request.required.acks", "1")
val config = new ProducerConfig(props)
val producer = new Producer[String, String](config)

val topic = Conf.noticeTopics //注意topic

if(!out_data.equals("-")){

  val data = new KeyedMessage[String, String](topic,out_data)
  println("\n\nDO producer"+data+"\n\n")
  producer.send(data)
  producer.close()

}

import org.apache.kafka.clients.producer.{KafkaProducer, ProducerRecord, RecordMetadata}

val props = new util.HashMap[String,Object]();
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,Conf.Brokers)
props.put(ProducerConfig.ACKS_CONFIG,"1")
props.put(ProducerConfig.RETRIES_CONFIG,"0")
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,"org.apache.kafka.common.serialization.StringSerializer")
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,"org.apache.kafka.common.serialization.StringSerializer")
//通过zookeeper建立kafkaproducer

if(!out_data.equals("-")) {
  val producer = new KafkaProducer[String, String](props)

  val message = new ProducerRecord[String, String](Conf.Topics, null, out_data)
  //发送消息
  producer.send(message)
  println("\n\nDO producer"+message+"\n\n")
}
 
 

用的包不一样

用客户端的包优化的producer的代码使用

https://blog.csdn.net/yangchunlu0101/article/details/78107770


猜你喜欢

转载自blog.csdn.net/qq_35063002/article/details/80926572