如何解决如何在Spring Boot中配置RabbitMQ身份验证机制?
@Configuration
@EnableRabbit
public class RabbitConfiguration {
private static final String queueName = "3055";
private static final String topicExchangeName = queueName + "-exchange";
@Bean
Queue queue() {
return new Queue(queueName,false);
}
@Bean
TopicExchange exchange() {
return new TopicExchange(topicExchangeName);
}
@Bean
Binding binding(Queue queue,TopicExchange exchange) {
return BindingBuilder.bind(queue).to(exchange).with("foo.bar.#");
}
@Bean
RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory,MessageConverter messageConverter) {
RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);
rabbitTemplate.setMessageConverter(messageConverter);
return rabbitTemplate;
}
@Bean
MessageConverter messageConverter() {
return new Jackson2JsonMessageConverter();
}
}
上面的代码是我的Spring Boot项目的RabbitMQ配置类。
但是,我无法连接RMQ服务器,因为每次尝试连接时都会弹出以下错误消息。
Caused by: com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile.
服务器提供商告诉我,我需要将身份验证机制设置为AMQPLAIN。
我的问题是如何将身份验证机制设置为AMQPLAIN?
无论我用多少Google,我都不知道怎么做。
解决方法
我向@Raja Anbazhagan 确认。首先检查 RabbitMQ 日志。假设您的用户凭据是访客/访客。
解决问题的最简单方法可能是在 application.yml
中添加这些行:
spring:
rabbitmq:
username: <user-name>
password: <user-password>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。