ActiveMQ using TCP and static-connectors the discovery is not always working

Posted on

When changing the discovery configuration for ActiveMQ to use TCP and list connections to nodes participating in a standalone HA cluster, the discovery for topics are only working when first listed node is started first (i.e. is primary). queues seems to be discovered regardless of startup order (or failovers).

Any ideas?

Product: JBoss EAP 7.3.x

I'll show the changed/added configuration in standalone-full-ha.xml:

<subsystem xmlns="urn:jboss:domain:messaging-activemq:8.0">
...
                <http-connector name="jms-remote-connector1" endpoint="http-acceptor" socket-binding="jms-remote1"/>
                <http-connector name="jms-remote-connector2" endpoint="http-acceptor" socket-binding="jms-remote2"/>
...
                <cluster-connection name="load-balancing-cluster" static-connectors="jms-remote-connector1 jms-remote-connector2"
                    connector-name="http-connector" address="jms.topic.balance,jms.queue.balance" use-duplicate-detection="true"/>
                <jms-topic name="balance.myTopic" entries="/topic/myTopic"/>
                <jms-queue name="balance.myQueue" entries="/queue/myQueue"/>

----
Under
 <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">

...
        <outbound-socket-binding name="jms-remote1">
            <remote-destination host="${jboss.cluster.tcp.node1.host:localhost}" port="${jboss.cluster.jms.tcp.node1.port:8080}"/>
        </outbound-socket-binding>
        <outbound-socket-binding name="jms-remote2">
            <remote-destination host="${jboss.cluster.tcp.node2.host:localhost}" port="${jboss.cluster.jms.tcp.node2.port:8080}"/>
        </outbound-socket-binding>