Kafka producer



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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值