[英]RabbitMq connection refused: connect
我正在处理 rabbitmq 中的连接问题。 我已经在 docker 中加载了它的图像,正如您在此处看到的那样:
然后在 Spring 我创建了这个配置 class 来创建一个绑定并注册一个队列:
@Configuration
public class MQConfig {
@Value("${people.queue}")
public String queue;
@Value("${people.exchange}")
public String exchange;
@Value("${people.routingkey}")
public List<String> routingKeys;
@Bean
public Queue queue() {
return new Queue(queue, true, false, false);
}
@Bean
Exchange myExchange() {
return ExchangeBuilder.topicExchange(exchange).durable(true).build();
}
@Bean
Declarables bindings(TopicExchange exchange, Queue queue) {
return new Declarables(routingKeys.stream()
.map(key -> BindingBuilder
.bind(queue)
.to(exchange)
.with(key))
.collect(Collectors.toList()));
}
@Bean
public MessageConverter jsonMessageConverter() {
return new Jackson2JsonMessageConverter();
}
@Bean
public ConnectionFactory connectionFactory() throws IOException {
CachingConnectionFactory connectionFactory = new CachingConnectionFactory();
connectionFactory.setPort(5672);
connectionFactory.setHost("localhost");
connectionFactory.setUsername("guest");
connectionFactory.setPassword("guest");
connectionFactory.setVirtualHost("/");
//connectionFactory.setPublisherReturns(true);
return connectionFactory;
}
}
运行应用程序后,我在终端中收到以下消息:
2022-08-01 16:35:27.083 INFO 27852 --- [ restartedMain] o.s.a.r.c.CachingConnectionFactory : Attempting to connect to: [localhost:5672]
2022-08-01 16:35:31.172 INFO 27852 --- [ restartedMain] o.s.a.r.l.SimpleMessageListenerContainer : Broker not available; cannot force queue declarations during start: java.net.ConnectException: Connection refused: connect
我不知道我在哪里无法连接,请帮忙?
谢谢
它连接了。 我所要做的就是在 docker 中运行映像之前配置两个端口。 似乎默认运行它从未启动默认端口,所以一旦我手动设置它们就会运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.