40 lines
1.6 KiB
Java
40 lines
1.6 KiB
Java
package com.zdjizhi.tools.kafka;
|
|
|
|
import com.zdjizhi.common.VoipRelationConfig;
|
|
import org.apache.flink.api.common.serialization.SimpleStringSchema;
|
|
import org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer;
|
|
|
|
import java.util.Properties;
|
|
|
|
/**
|
|
* @author qidaijie
|
|
* @Package com.zdjizhi.utils.kafka
|
|
* @Description:
|
|
* @date 2021/6/813:54
|
|
*/
|
|
public class KafkaConsumer {
|
|
private static Properties createConsumerConfig() {
|
|
Properties properties = new Properties();
|
|
properties.put("bootstrap.servers", VoipRelationConfig.SOURCE_KAFKA_SERVERS);
|
|
properties.put("group.id", VoipRelationConfig.GROUP_ID);
|
|
properties.put("session.timeout.ms", VoipRelationConfig.SESSION_TIMEOUT_MS);
|
|
properties.put("max.poll.records", VoipRelationConfig.MAX_POLL_RECORDS);
|
|
properties.put("max.partition.fetch.bytes", VoipRelationConfig.MAX_PARTITION_FETCH_BYTES);
|
|
properties.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
|
|
properties.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
|
|
|
|
CertUtils.chooseCert(VoipRelationConfig.SOURCE_KAFKA_SERVERS, properties);
|
|
return properties;
|
|
}
|
|
|
|
public static FlinkKafkaConsumer<String> getKafkaConsumer() {
|
|
FlinkKafkaConsumer<String> kafkaConsumer = new FlinkKafkaConsumer<>(VoipRelationConfig.SOURCE_KAFKA_TOPIC,
|
|
new SimpleStringSchema(), createConsumerConfig());
|
|
|
|
kafkaConsumer.setCommitOffsetsOnCheckpoints(true);
|
|
kafkaConsumer.setStartFromGroupOffsets();
|
|
|
|
return kafkaConsumer;
|
|
}
|
|
}
|