This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
galaxy-tsg-olap-log-stream-…/src/main/java/com/zdjizhi/tools/kafka/KafkaProducer.java

48 lines
1.8 KiB
Java
Raw Normal View History

package com.zdjizhi.tools.kafka;
2021-09-27 11:14:34 +08:00
import com.zdjizhi.common.VoipRelationConfig;
import org.apache.flink.api.common.serialization.SimpleStringSchema;
import org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer;
import java.util.Optional;
import java.util.Properties;
/**
* @author qidaijie
* @Package com.zdjizhi.utils.kafka
* @Description:
* @date 2021/6/814:04
*/
public class KafkaProducer {
2021-09-27 11:14:34 +08:00
private static Properties createProducerConfig() {
Properties properties = new Properties();
properties.put("bootstrap.servers", VoipRelationConfig.SINK_KAFKA_SERVERS);
2021-09-27 11:14:34 +08:00
properties.put("acks", VoipRelationConfig.PRODUCER_ACK);
properties.put("retries", VoipRelationConfig.RETRIES);
properties.put("linger.ms", VoipRelationConfig.LINGER_MS);
properties.put("request.timeout.ms", VoipRelationConfig.REQUEST_TIMEOUT_MS);
properties.put("batch.size", VoipRelationConfig.BATCH_SIZE);
properties.put("buffer.memory", VoipRelationConfig.BUFFER_MEMORY);
properties.put("max.request.size", VoipRelationConfig.MAX_REQUEST_SIZE);
properties.put("compression.type", VoipRelationConfig.PRODUCER_KAFKA_COMPRESSION_TYPE);
CertUtils.chooseCert(VoipRelationConfig.SINK_KAFKA_SERVERS, properties);
2021-09-27 11:14:34 +08:00
return properties;
}
public static FlinkKafkaProducer<String> getKafkaProducer() {
FlinkKafkaProducer<String> kafkaProducer = new FlinkKafkaProducer<String>(
VoipRelationConfig.SINK_KAFKA_TOPIC,
2021-09-27 11:14:34 +08:00
new SimpleStringSchema(),
createProducerConfig(), Optional.empty());
//启用此选项将使生产者仅记录失败日志而不是捕获和重新抛出它们
2022-04-19 14:16:38 +08:00
kafkaProducer.setLogFailuresOnly(true);
2021-09-27 11:14:34 +08:00
return kafkaProducer;
}
}