Spring Boot не может подключиться к кластеру RabbitMQ, когда главный узел выходит из строяJAVA

Программисты JAVA общаются здесь
Anonymous
Spring Boot не может подключиться к кластеру RabbitMQ, когда главный узел выходит из строя

Сообщение Anonymous »

Я настроил кластер RabbitMQ с 3 узлами и установил для всех ha-режим, и я подключаю свой проект загрузки Spring к этому кластеру, он работает, но когда главный узел RabbitMQ выходит из строя, мой проект загрузки Spring не может обрабатывать публикацию и потребление сообщений из другой узел
вот у меня ошибка:
org.springframework.amqp.AmqpIOException: java.net.UnknownHostException: rabbitmq at org.springframework.amqp.rabbit.support.RabbitExceptionTranslator.convertRabbitAccessException(RabbitExceptionTranslator.java:71) ~[spring-rabbit-2.0.12.RELEASE.jar!/:2.0.12.RELEASE] at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:504) ~[spring-rabbit-2.0.12.RELEASE.jar!/:2.0.12.RELEASE] at org.springframework.amqp.rabbit.connection.CachingConnectionFactory.createConnection(CachingConnectionFactory.java:628) ~[spring-rabbit-2.0.12.RELEASE.jar!/:2.0.12.RELEASE] at org.springframework.amqp.rabbit.connection.CachingConnectionFactory.createBareChannel(CachingConnectionFactory.java:578) ~[spring-rabbit-2.0.12.RELEASE.jar!/:2.0.12.RELEASE] at org.springframework.amqp.rabbit.connection.CachingConnectionFactory.getCachedChannelProxy(CachingConnectionFactory.java:552) ~[spring-rabbit-2.0.12.RELEASE.jar!/:2.0.12.RELEASE] at org.springframework.amqp.rabbit.connection.CachingConnectionFactory.getChannel(CachingConnectionFactory.java:534) ~[spring-rabbit-2.0.12.RELEASE.jar!/:2.0.12.RELEASE] at org.springframework.amqp.rabbit.connection.CachingConnectionFactory.access$1400(CachingConnectionFactory.java:99) ~[spring-rabbit-2.0.12.RELEASE.jar!/:2.0.12.RELEASE] at org.springframework.amqp.rabbit.connection.CachingConnectionFactory$ChannelCachingConnectionProxy.createChannel(CachingConnectionFactory.java:1213) ~[spring-rabbit-2.0.12.RELEASE.jar!/:2.0.12.RELEASE] at org.springframework.amqp.rabbit.core.RabbitTemplate.doExecute(RabbitTemplate.java:1847) ~[spring-rabbit-2.0.12.RELEASE.jar!/:2.0.12.RELEASE] at org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:1815) ~[spring-rabbit-2.0.12.RELEASE.jar!/:2.0.12.RELEASE] at org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:1796) ~[spring-rabbit-2.0.12.RELEASE.jar!/:2.0.12.RELEASE] at org.springframework.amqp.rabbit.core.RabbitAdmin.getQueueProperties(RabbitAdmin.java:345) ~[spring-rabbit-2.0.12.RELEASE.jar!/:2.0.12.RELEASE] at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.redeclareElementsIfNecessary(AbstractMessageListenerContainer.java:1635) ~[spring-rabbit-2.0.12.RELEASE.jar!/:2.0.12.RELEASE] at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:995) [spring-rabbit-2.0.12.RELEASE.jar!/:2.0.12.RELEASE] at java.lang.Thread.run(Thread.java:750) [na:1.8.0_412] Caused by: java.net.UnknownHostException: rabbitmq at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) ~[na:1.8.0_412] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_412] at java.net.Socket.connect(Socket.java:607) ~[na:1.8.0_412] at com.rabbitmq.client.impl.SocketFrameHandlerFactory.create(SocketFrameHandlerFactory.java:60) ~[amqp-client-5.4.3.jar!/:5.4.3] at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1102) ~[amqp-client-5.4.3.jar!/:5.4.3] at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1054) ~[amqp-client-5.4.3.jar!/:5.4.3] at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:994) ~[amqp-client-5.4.3.jar!/:5.4.3] at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:457) ~[spring-rabbit-2.0.12.RELEASE.jar!/:2.0.12.RELEASE] ... 13 common frames omitted

2024-06-25 07:38:37.023 INFO 1 --- [ntContainer#0-3] o.s.a.r.c.CachingConnectionFactory : Attempting to connect to: [rabbit1:5672, rabbit2:5673, rabbitmq:5674] 2024-06-25 07:39:02.058 INFO 1 --- [ntContainer#0-3] o.s.a.r.l.SimpleMessageListenerContainer : Restarting Consumer@54c27637: tags=[{}], channel=null, acknowledgeMode=AUTO local queue size=0 2024-06-25 07:39:02.064 INFO 1 --- [ntContainer#0-4] o.s.a.r.c.CachingConnectionFactory : Attempting to connect to: [rabbit1:5672, rabbit2:5673, rabbitmq:5674] 2024-06-25 07:39:22.149 ERROR 1 --- [ntContainer#0-4] o.s.a.r.l.SimpleMessageListenerContainer : Failed to check/redeclare auto-delete queue(s).

Вот моя конфигурация:
@RequiredArgsConstructor
@Configuration
public class RabbitMQConfig {

@Bean
public Queue myQueue(){
return new Queue("q.example", true);
}

@Bean
public DirectExchange exchange(){
return new DirectExchange("e.direct-exchange");
}

@Bean
public Binding binding(){
return BindingBuilder.bind(this.myQueue()).to(this.exchange()).with("q-routing-key");
}

}

spring:
application:
name: rabbitmq-testing
rabbitmq:
username:
password:
virtual-host: /
addresses: rabbit1:5672,rabbit2:5673,rabbitmq:5674


Подробнее здесь: https://stackoverflow.com/questions/786 ... de-go-down

Вернуться в «JAVA»