我正在寻找有关使用kafka消费者和生产者的春季应用程序(其他人的设计)的帮助。 该设计允许config.properties文件包含如下条目:
kafkaAddress = 10.10.10.12:9093,10.10.10.11:9093,10.10.10.10:9093
这样的配置是由某种 spring bean 代码选取的......
Java代码......
private String kafkaAddress;
public String getKafkaAddress() {
return kafkaAddress;
}
public void setKafkaAddress(String kafkaAddress) {
this.kafkaAddress = kafkaAddress;
}
它显示在我用调试器看到的Properties对象中。
“kafkaAddress” - > “10.10.10.12:9093,10.10.10.11:9093,10.10.10.10:9093”
代码将Properties对象传递给Kafka客户端的构造函数
我认为这一切都是通过spring的设计和匹配配置“kafkaAddress”与匹配名称为kafkaAddress的字符串
进行的。我想为ssl配置诸如......之类的东西。
ssl.truststore.location = C:\一些\路径\ kafka.client.10.10.10.11.truststore.jks ssl.truststore.password = mySecretWord
我把这些东西放在配置中,但是我为我的setter和getter做了什么?
我不能把String ssl.truststore.location,对吧?
答案 0 :(得分:0)
在config.properties中我用... ssl_truststore_password = mySecretPassword
在MyConsumerConfig.java文件中的setter和getter中,我使用了...
public void setSsl_truststore_password(String ssl_truststore_password ) {
this.ssl_truststore_password = ssl_truststore_password;
}
public String getSsl_truststore_password() {
return this.ssl_truststore_password;
}
在调用构造函数.java文件之前我...
if(StringUtils.isNotEmpty(myConsumerConfig.getSsl_truststore_password())) {
consumerProps.put(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG,
onlineConsumerConfig.getSsl_truststore_password());
}
SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG在org.apache.kafka.common.config.SslConfigs包中定义...
public static final String SSL_TRUSTSTORE_PASSWORD_CONFIG "ssl.truststore.password"
spring框架将配置文件中的“ssl_truststore_password”链接到getter和setter,例如......
MyConsumerConfig.setSsl_truststore_password(String ssl_truststore_password)