admin管理员组文章数量:1332865
This is the exception I got when I try to send message in my topic on confluent cloud
Caused by: .apache.kafkamon.KafkaException: Failed to create new NetworkClient
at .apache.kafka.clients.ClientUtils.createNetworkClient(ClientUtils.java:252)
at .apache.kafka.clients.ClientUtils.createNetworkClient(ClientUtils.java:162)
at .apache.kafka.clients.producer.KafkaProducer.newSender(KafkaProducer.java:523)
at .apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:462)
... 177 common frames omitted
Caused by: java.lang.IllegalArgumentException: Could not find a 'KafkaClient' entry in the JAAS configuration. System property 'java.security.auth.login.config' is not set
at .apache.kafkamon.security.JaasContext.defaultContext(JaasContext.java:150)
at .apache.kafkamon.security.JaasContext.load(JaasContext.java:103)
at .apache.kafkamon.security.JaasContext.loadClientContext(JaasContext.java:87)
at .apache.kafkamonwork.ChannelBuilders.create(ChannelBuilders.java:167)
at .apache.kafkamonwork.ChannelBuilders.clientChannelBuilder(ChannelBuilders.java:81)
at .apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:119)
at .apache.kafka.clients.ClientUtils.createNetworkClient(ClientUtils.java:223)
... 180 common frames omitted
The problem is that I think I've set up the security normally but I always get this exception when I send a message.
This is how I make my configuration to connect to confluent cloud
spring:
kafka:
bootstrap-servers: ${address-server}
producer:
key-serializer: .apache.kafkamon.serialization.StringSerializer
value-serializer: io.confluent.kafka.serializers.KafkaAvroSerializer
properties:
specific.avro.reader: true
auto.register.schemas: false
basic.auth.credentials.source: USER_INFO
basic.auth.user.info: ${api-key}:${api-key-secret}
schema:
registry:
url: ${address-schema-registry}
sasl:
jaas:
config: .apache.kafkamon.security.plain.PlainLoginModule required username='api-client-id' password='api-client-secret';
mechanism: PLAIN
security:
protocol: SASL_SSL
ssl:
endpoint:
identification:
algorithm: https
all variables are correct. but when I try to send messag in the topic I got the error
In my configuration class I have these methods for handling my producer
@Bean
public ProducerFactory<String, SpecificRecordBase> producerFactory() {
return new DefaultKafkaProducerFactory<>(producerConfig());
}
@Bean
public Map<String, Object> producerConfig() {
Map<String, Object> configProps = new HashMap<>();
configProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
configProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
configProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, io.confluent.kafka.serializers.KafkaAvroSerializer.class);
configProps.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, kafkaSecurityProtocol);
configProps.put("schema.registry.url", schemaRegistryUrl);
return configProps;
}
The KafkaTemplate
@Bean
public KafkaTemplate<String, SpecificRecordBase> kafkaTemplate(CustomProducerListener<String, SpecificRecordBase> listener) {
KafkaTemplate<String, SpecificRecordBase> kafkaTemplate = new KafkaTemplate<>(producerFactory());
kafkaTemplate.setProducerListener(listener);
return kafkaTemplate;
}
本文标签: javaHow to fix Could not find a 39KafkaClient39 entry in the JAAS configurationStack Overflow
版权声明:本文标题:java - How to fix: Could not find a 'KafkaClient' entry in the JAAS configuration? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742348196a2457953.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论