I have set up rabbitmq cluster with 3 node and set ha-mode to all and I connect my spring boot project to this cluster it’s work find but when rabbitmq master node go down my spring boot project cannot process publish and consume message from another node
here is error I have got:
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).
Here is my config:
@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
New contributor
Sokheng is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.