Sokheng
Sokheng

Reputation: 1

spring boot cannot connect to rabbitmq cluster when master node go down

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

Upvotes: 0

Views: 128

Answers (0)

Related Questions