我的Springboot应用程序似乎没有获取application.yml中提供的用于融合Kafka凭据的凭据。它能够选择其他凭据,如电子邮件,除了Kafka confluent,这让我意识到问题来自我的配置。我把他们提供给我的东西贴在他们的平台上。
我试着注解掉凭据,我注意到应用程序给出了同样的问题。这是我的配置。
kafka:
properties:
sasl:
mechanism: PLAIN
jaas:
enabled: true
config: org.apache.kafka.common.security.plain.PlainLoginModule required username='<redacted>' password='<redacted>';
bootstrap-servers: pkc-12p03.xxxxxx.azure.confluent.cloud:9092
security:
protocol: SASL_SSL
session:
timeout:
ms: 5000
basic:
auth:
credentials:
source: USER_INFO
user:
info: <redacted>:<redacted>
schema:
registry:
url: https://pkc-12p03.xxxx.azure.confluent.cloud:443
字符串
这是我在尝试访问端点时得到的响应
2023-07-26 15:43:10 [,] - INFO [Producer clientId=producer-1] Node -1 disconnected.
2023-07-26 15:43:10 [,] - WARN [Producer clientId=producer-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2023-07-26 15:43:10 [,] - WARN [Producer clientId=producer-1] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected
2023-07-26 15:43:11 [,] - INFO [Producer clientId=producer-1] Node -1 disconnected.
2023-07-26 15:43:11 [,] - WARN [Producer clientId=producer-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2023-07-26 15:43:11 [,] - WARN [Producer clientId=producer-1] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected
2023-07-26 15:43:12 [,] - INFO [Producer clientId=producer-1] Node -1 disconnected.
2023-07-26 15:43:12 [,] - WARN [Producer clientId=producer-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2023-07-26 15:43:12 [,] - WARN [Producer clientId=producer-1] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected
型
它超时了。我就是这样使用Kafka的。这是一个简单的用法。
public class MailServiceImpl implements MailService {
private final JavaMailSender javaMailSender;
private final MailConfiguration mailConfiguration;
private final KafkaTemplate<String, MailRequestDto> kafkaTemplate;
private final String topicName = "email_topic";
@Override
public BaseResponse<?> sendMail( MailRequestDto emailRequestDto) {
MimeMessage message = javaMailSender.createMimeMessage();
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(message);
try {
mimeMessageHelper.setFrom(mailConfiguration.getMailUsername());
mimeMessageHelper.setTo(emailRequestDto.getRecipient());
mimeMessageHelper.setSubject(emailRequestDto.getSubject());
mimeMessageHelper.setText(emailRequestDto.getText());
javaMailSender.send(message);
kafkaTemplate.send(topicName, emailRequestDto);
Map<String, Object> responseData = buildResponseData(emailRequestDto);
return buildSuccessResponse(responseData);
} catch (MessagingException e) {
return buildErrorResponse(e.getLocalizedMessage());
}
}
}
型
在我的引导服务器上做telnet,我得到成功消息。有什么问题吗?我的pom.xml中有必要的依赖项
1条答案
按热度按时间kmbjn2e31#
请学习如何使用SO markdown来格式化代码(见我的编辑)。
你需要
spring:
作为第一个元素。bootstrap-servers
不应低于properties
,而应低于spring.kafka
。properties
用于引导不直接暴露的Kafka属性。https://docs.spring.io/spring-boot/docs/current/reference/html/messaging.html#messaging.kafka.additional-properties
否则,Sping Boot 将默认为
127.0.0.1:9092