[
https://issues.apache.org/jira/browse/AMQ-6627?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Matt Pavlovich updated AMQ-6627:
--------------------------------
Labels: close-pending (was: )
> Network configured via mq-fabric do not create consumers after master/slave
> switch
> ----------------------------------------------------------------------------------
>
> Key: AMQ-6627
> URL: https://issues.apache.org/jira/browse/AMQ-6627
> Project: ActiveMQ
> Issue Type: Bug
> Components: Network of Brokers
> Affects Versions: 5.14.2
> Reporter: Dominik Przybysz
> Priority: Major
> Labels: close-pending
>
> Hi,
> we have 6 ActiveMQ (5.14.2) brokers running on Apache Karaf:
> - amq1 (prod and dr) - master/slave
> - amq2 (prod and dr) - master/slave
> - amq3 (prod and dr) - master/slave
> These brokers are connnected with network configured via mq-fabric.
> Producer and consumers connect to amq1, amq2 or amq3 via load balancer using
> round robin algorithm.
> Producers connects to each broker and send messages without problems.
> Consumers are long-lived and connects to each queue and listen.
> Problem is when, for example, amq2prod goes down for a moment and switches to
> amq2dr. Network is established after switch, producers sends messages to, for
> example, queue error.history.in on each broker (including amq2), but no
> consumers are created for this queue on amq2. All real consumers for this
> queue are connected to amq1 or amq3, but amq2 do not forward messages to them.
> I hope this is configuration problem of our network. What we are doing wrong?
> ============================================
> Our Configuration
> Broker configuration is common and properties are filled by mq-fabric:
> {code}
> <beans
> xmlns="http://www.springframework.org/schema/beans"
> xmlns:amq="http://activemq.apache.org/schema/core"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd
>
> http://activemq.apache.org/schema/core
> http://activemq.apache.org/schema/core/activemq-core.xsd"
> >
> <!-- Allows us to use system properties and fabric as variables in this
> configuration file -->
> <bean
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
> <property name="properties">
> <bean class="io.fabric8.mq.fabric.ConfigurationProperties" />
> </property>
> </bean>
> <broker xmlns="http://activemq.apache.org/schema/core"
> xmlns:b="http://www.springframework.org/schema/beans"
> brokerName="${broker-name}"
> dataDirectory="${data}"
> useJmx="true"
> enableStatistics="true"
> advisorySupport="true"
> persistent="true"
> schedulerSupport="true"
> start="false"
> restartAllowed="false"
> >
> <managementContext>
> <managementContext createConnector="false" />
> </managementContext>
> <persistenceAdapter>
> <jdbcPersistenceAdapter dataSource="#amqDataSource">
> <statements>
> <statements tablePrefix="AMQ4_" />
> </statements>
> </jdbcPersistenceAdapter>
> </persistenceAdapter>
> <plugins>
> <jaasAuthenticationPlugin configuration="karaf" />
> <runtimeConfigurationPlugin checkPeriod="30000" />
> </plugins>
> <!-- system usage omitted -->
> <transportConnectors>
> <transportConnector name="openwire"
> uri="tcp://0.0.0.0:61696?transport.closeAsync=false" />
> </transportConnectors>
> </broker>
> <!-- amqDataSource configuration omitted -->
> </beans>
> {code}
> Configuration is similar for each broker
> io.fabric8.mq.fabric.server-<brokername> - different is only ds-sid,
> ds-username and ds-password:
> {code}
> config=profile\:broker.xml
> config.checksum=${checksum:profile\:broker.xml}
> broker-name=amq1
> data=${runtime.data}/amq
> ds-sid=AMQ1
> ds-username=${profile:amq.ds.${containerEnv}/amq1Username}
> ds-password=${profile:amq.ds.${containerEnv}/amq1Password}
> connectors=openwire
> group=AMQ4
> kind=MasterSlave
> standby.pool=AMQ4
> network=AMQ4
> network.userName=amq
> network.password=${profile:amq.ds.${containerEnv}/amqNetworkPassword}
> network.messageTTL=-1
> network.consumerTTL=1
> network.networkConnectorStartAsync=true
> network.suppressDuplicateQueueSubscriptions=true
> network.suppressDuplicateTopicSubscriptions=true
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)