1、项目依赖
本项目采用 Maven 构建,想要调用 Kafka 生产者 API,需要导入 kafka-clients 依赖,如下:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>2.0.0</version>
</dependency>
2、生产者
Kafka Producer API配置项:
import java.util.Properties
import org.apache.kafka.clients.producer.{
KafkaProducer, ProducerConfig, ProducerRecord}
object Demo01_KafkaProducer {
def main(args: Array[String]): Unit = {
//创建配置
val props = new Properties()
//设置kafka集群,端口号是9092,如果是集群,集群之间用逗号隔开:ip或主机名:9092,ip或主机名:9092,ip或主机名:9092
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,"192.168.136.60:9092")
//应答机制设置为-1,即ISR全部应答
props.put(ProducerConfig.ACKS_CONFIG,"-1")
//设置key、value的序列化器
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer");//指定键的序列化器
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,"org.apache.kafka.common.serialization.StringSerializer");//指定值的序列化器
/*另一种写法:
props.put("bootstrap.servers", "192.168.136.60:9092");
props.put("acks", "all");
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
*/
//创建生产者
val producer &#