The default value for "reconnectAttempts" is 0 so I would recommend setting
it higher to have better success of actually reconnecting, e.g.:

  (tcp://dl02130v.example.com:61616)?ha=true&reconnectAttempts=25

Also, I think it would also be smart to add the backup's info to the URL as
well in case the master is down when a connection is initiated, e.g.:

  (tcp://dl02130v.example.com:61616,tcp://dl02131v.example.com:61616
)?ha=true&reconnectAttempts=25


Justin


On Tue, Dec 3, 2019 at 8:45 AM Laurent Bigonville <[email protected]>
wrote:

> Hello,
>
> I've a setup with a master and a slave artemis broker.
>
> If I'm shutting down the master, the slave is taking over as expected,
> but the applications are not able to reconnect to the backup.
>
> The connection URL I'm using is
> "(tcp://dl02130v.example.com:61616)?ha=true", the application should
> know about the backup during the initial connection:
>
> 2019-12-03 15:24:24.550 DEBUG 17220 --- [enerContainer-1]
> o.a.a.a.c.c.i.ClientSessionFactoryImpl   : Trying reconnection attempt 0/1
> 2019-12-03 15:24:24.550 DEBUG 17220 --- [enerContainer-1]
> o.a.a.a.c.c.i.ClientSessionFactoryImpl   : Trying to connect with
> connectorFactory =
> org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory@65bf6444,
> connectorConfig=TransportConfiguration(name=DL02130V-61616,
> factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)
> ?port=61616&host=dl02130v-example-com
> 2019-12-03 15:24:24.550 DEBUG 17220 --- [enerContainer-1]
> o.a.a.a.c.r.impl.netty.NettyConnector    : Connector NettyConnector [host=
> dl02130v.example.com, port=61616, httpEnabled=false,
> httpUpgradeEnabled=false, useServlet=false,
> servletPath=/messaging/ActiveMQServlet, sslEnabled=false, useNio=true]
> using native epoll
> 2019-12-03 15:24:24.551 DEBUG 17220 --- [enerContainer-1]
> org.apache.activemq.artemis.core.client  : AMQ211002: Started EPOLL Netty
> Connector version 4.1.39.Final to dl02130v.example.com:61616
> 2019-12-03 15:24:24.551 DEBUG 17220 --- [enerContainer-1]
> o.a.a.a.c.r.impl.netty.NettyConnector    : Remote destination:
> dl02130v.example.com/10.122.54.210:61616
> 2019-12-03 <http://dl02130v.example.com/10.122.54.210:616162019-12-03>
> 15:24:24.552 DEBUG 17220 --- [-netty-threads)]
> o.a.a.a.c.r.impl.netty.NettyConnector    : Added
> ActiveMQClientChannelHandler to Channel with id = 6a57551c
> 2019-12-03 15:24:24.555 DEBUG 17220 --- [enerContainer-1]
> o.a.a.a.c.c.i.ClientSessionFactoryImpl   : Reconnection successful
> 2019-12-03 15:24:24.578 DEBUG 17220 --- [-netty-threads)]
> o.a.a.a.c.r.impl.netty.NettyConnector    : NettyConnector [host=
> dl02130v.example.com, port=61616, httpEnabled=false,
> httpUpgradeEnabled=false, useServlet=false,
> servletPath=/messaging/ActiveMQServlet, sslEnabled=false, useNio=true] host
> 1: dl02131v.example.com ip address: 10.122.54.236 host 2:
> dl02130v.example.com ip address: 10.122.54.210
> 2019-12-03 15:24:24.579 DEBUG 17220 --- [-netty-threads)]
> o.a.a.a.c.c.i.ClientSessionFactoryImpl   : Setting up backup config =
> TransportConfiguration(name=DL02131V-61616,
> factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)
> ?port=61616&host=dl02131v-example-com
>   for live = TransportConfiguration(name=DL02130V-61616,
> factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)
> ?port=61616&host=dl02130v-example-com
>
> But then, in the following log, you can see that the application
> complains that the "Backup is not active" and I'm not sure why:
>
> 2019-12-03 15:26:13.472 DEBUG 17220 --- [enerContainer-1]
> o.a.a.a.c.c.i.ClientSessionFactoryImpl   : Trying reconnection attempt 0/1
> 2019-12-03 15:26:13.472 DEBUG 17220 --- [enerContainer-1]
> o.a.a.a.c.c.i.ClientSessionFactoryImpl   : Trying to connect with
> connectorFactory =
> org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory@3f8b8fb2,
> connectorConfig=TransportConfiguration(name=null,
> factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)
> ?port=61616&host=dl02130v-example-com&ha=true
> 2019-12-03 15:26:13.473 DEBUG 17220 --- [enerContainer-1]
> o.a.a.a.c.r.impl.netty.NettyConnector    : Connector NettyConnector [host=
> dl02130v.example.com, port=61616, httpEnabled=false,
> httpUpgradeEnabled=false, useServlet=false,
> servletPath=/messaging/ActiveMQServlet, sslEnabled=false, useNio=true]
> using native epoll
> 2019-12-03 15:26:13.473 DEBUG 17220 --- [enerContainer-1]
> org.apache.activemq.artemis.core.client  : AMQ211002: Started EPOLL Netty
> Connector version 4.1.39.Final to dl02130v.example.com:61616
> 2019-12-03 15:26:13.474 DEBUG 17220 --- [enerContainer-1]
> o.a.a.a.c.r.impl.netty.NettyConnector    : Remote destination:
> dl02130v.example.com/10.122.54.210:61616
> 2019-12-03 <http://dl02130v.example.com/10.122.54.210:616162019-12-03>
> 15:26:13.476 DEBUG 17220 --- [-netty-threads)]
> o.a.a.a.c.r.impl.netty.NettyConnector    : Added
> ActiveMQClientChannelHandler to Channel with id = 6ab78494
> 2019-12-03 15:26:13.484 DEBUG 17220 --- [enerContainer-1]
> o.a.a.a.c.c.i.ClientSessionFactoryImpl   : Connector towards NettyConnector
> [host=dl02130v.example.com, port=61616, httpEnabled=false,
> httpUpgradeEnabled=false, useServlet=false,
> servletPath=/messaging/ActiveMQServlet, sslEnabled=false, useNio=true]
> failed
> 2019-12-03 15:26:13.484 DEBUG 17220 --- [enerContainer-1]
> o.a.a.a.c.c.i.ClientSessionFactoryImpl   : Backup is not active, trying
> original connection configuration now.
> 2019-12-03 15:26:13.485 ERROR 17220 --- [enerContainer-1]
> o.s.j.l.DefaultMessageListenerContainer  : Could not refresh JMS Connection
> for destination 'DLQ' - retrying using FixedBackOff{interval=5000,
> currentAttempts=11, maxAttempts=unlimited}. Cause: Failed to create session
> factory; nested exception is
> ActiveMQNotConnectedException[errorType=NOT_CONNECTED message=AMQ219007:
> Cannot connect to server(s). Tried with all available servers.]
>
> javax.jms.JMSException: Failed to create session factory
>         at
> org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:886)
> ~[artemis-jms-client-2.10.0.jar!/:2.10.0]
>         at
> org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:299)
> ~[artemis-jms-client-2.10.0.jar!/:2.10.0]
>         at
> org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:294)
> ~[artemis-jms-client-2.10.0.jar!/:2.10.0]
>         at
> org.messaginghub.pooled.jms.JmsPoolConnectionFactory.createProviderConnection(JmsPoolConnectionFactory.java:650)
> ~[pooled-jms-1.0.6.jar!/:na]
>         at
> org.messaginghub.pooled.jms.JmsPoolConnectionFactory$1.makeObject(JmsPoolConnectionFactory.java:107)
> ~[pooled-jms-1.0.6.jar!/:na]
>         at
> org.messaginghub.pooled.jms.JmsPoolConnectionFactory$1.makeObject(JmsPoolConnectionFactory.java:104)
> ~[pooled-jms-1.0.6.jar!/:na]
>         at
> org.apache.commons.pool2.impl.GenericKeyedObjectPool.create(GenericKeyedObjectPool.java:1041)
> ~[commons-pool2-2.6.2.jar!/:2.6.2]
>         at
> org.apache.commons.pool2.impl.GenericKeyedObjectPool.addObject(GenericKeyedObjectPool.java:1233)
> ~[commons-pool2-2.6.2.jar!/:2.6.2]
>         at
> org.messaginghub.pooled.jms.JmsPoolConnectionFactory.createJmsPoolConnection(JmsPoolConnectionFactory.java:704)
> ~[pooled-jms-1.0.6.jar!/:na]
>         at
> org.messaginghub.pooled.jms.JmsPoolConnectionFactory.createConnection(JmsPoolConnectionFactory.java:236)
> ~[pooled-jms-1.0.6.jar!/:na]
>         at
> org.messaginghub.pooled.jms.JmsPoolConnectionFactory.createConnection(JmsPoolConnectionFactory.java:231)
> ~[pooled-jms-1.0.6.jar!/:na]
>         at
> org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:196)
> ~[spring-jms-5.1.10.RELEASE.jar!/:5.1.10.RELEASE]
>         at
> org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful(DefaultMessageListenerContainer.java:944)
> ~[spring-jms-5.1.10.RELEASE.jar!/:5.1.10.RELEASE]
>         at
> org.springframework.jms.listener.DefaultMessageListenerContainer.recoverAfterListenerSetupFailure(DefaultMessageListenerContainer.java:915)
> ~[spring-jms-5.1.10.RELEASE.jar!/:5.1.10.RELEASE]
>         at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1099)
> ~[spring-jms-5.1.10.RELEASE.jar!/:5.1.10.RELEASE]
>         at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
> Caused by:
> org.apache.activemq.artemis.api.core.ActiveMQNotConnectedException:
> AMQ219007: Cannot connect to server(s). Tried with all available servers.
>         at
> org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:798)
> ~[artemis-core-client-2.10.0.jar!/:2.10.0]
>         at
> org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:884)
> ~[artemis-jms-client-2.10.0.jar!/:2.10.0]
>         ... 15 common frames omitted
>
> An idea what's happening here?
>
> Kind regards,
>
> Laurent Bigonville
>
>

Reply via email to