我在maven项目中有一个java文件,其中包含kafka生产者代码,用于向主题发送数据。
Producer.java
// some code
KafkaProducer<String, String> producer = new KafkaProducer<String, String>(props);
JSONObject jsonRecord = new JSONObject();
jsonRecord.put("integer", 1);
producer.send(new ProducerRecord<String, String>(topicName, null, mapper.writeValueAsString(jsonRecord)));
// some code
我使用命令运行这个文件
mvn exec:java -Dexec.mainClass=Producer
这些物业包括:
public static final String JAAS_SASL_TEMPLATE =
"org.apache.kafka.common.security.plain.PlainLoginModule required username=\"%s\" %s=\"%s\";"
props.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, "SASL_SSL");
String jaasCfg = String.format(JAAS_SASL_TEMPLATE, "username", "auth_secret_key", "kafka_secret");
props.put(SaslConfigs.SASL_MECHANISM, "PLAIN");
props.put(SaslConfigs.SASL_JAAS_CONFIG, jaasCfg);
props.put(CommonClientConfigs.BOOTSTRAP_SERVERS_CONFIG, "example.aws.confluent.cloud:9092");
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, IntegerSerializer.class.getName());
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
当我在本地运行时,这段代码能够将数据发送到合流的Kafka主题
现在,我在jenkins管道中添加了一个阶段,在shell脚本中运行java文件
stage('Send data') {
steps {
sh '''
mvn exec:java -Dexec.mainClass=Producer
'''
}
}
所有其他功能都可以工作,但Kafka制作人无法将数据发送到合流的Kafka主题。也不会抛出错误。有人能帮我解决我所缺少的吗??
暂无答案!
目前还没有任何答案,快来回答吧!