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