activemq 5.12
Конфигурация сети брокера: концентратор, спица1, спица2
Спица1 имеет дуплексное сетевое соединение с концентратором Спица 2 имеет дуплексное сетевое соединение с концентратором
Я использую следующее для создания на спице1
bin / activemq продюсер --brokerurl tcp: //0.0.0.0: 61616 --destination queue: // Manufacturer-214 --messagecount 100 --message "привет, там" Затем на Spoke2 я пытаюсь использовать сообщения
bin / activemq consumer --brokerUrl tcp: //0.0.0.0: 61616 --destination queue: // maker-214 Я вижу, что 100 сообщений помещены в очередь на Spoke1, но мой потребитель не видит ни одного сообщения и просто ждет как так
ИНФОРМАЦИЯ | Подключение к URL: tcp: //0.0.0.0: 61616 (null: null) ИНФОРМАЦИЯ | Очередь потребления: // производитель-214 INFO | Спящий режим получает 0 мс INFO | Выполняется 1 параллельный поток INFO | потребитель-1 ждет, пока не будет использовано 1000 сообщений. Моя конфигурация для распределенного сервера 1/2 идентична, за исключением имени брокера. следующая конфигурация для Spoke2:
http://www.springframework.org/schema/beans/spring-beans.xsd http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
file: элемент $ {activemq.conf} /credentials.properties используется для настройки брокера ActiveMQ. ->
<destinationPolicy>
<policyMap>
<policyEntries>
<policyEntry topic=">" >
<!-- The constantPendingMessageLimitStrategy is used to prevent
slow topic consumers to block producers and affect other consumers
by limiting the number of messages that are retained
For more information, see:
http://activemq.apache.org/slow-consumer-handling.html
-->
<pendingMessageLimitStrategy>
<constantPendingMessageLimitStrategy limit="1000"/>
</pendingMessageLimitStrategy>
</policyEntry>
</policyEntries>
</policyMap>
</destinationPolicy>
<networkConnectors>
<networkConnector uri="static:(tcp://172.31.10.24:61616)?transport.useInactivityMonitor=false" duplex="true"/>
</networkConnectors>
<!--
Configure message persistence for the broker. The default persistence
mechanism is the KahaDB store (identified by the kahaDB tag).
For more information, see:
http://activemq.apache.org/persistence.html
-->
<persistenceAdapter>
<kahaDB directory="${activemq.data}/kahadb"/>
</persistenceAdapter>
<!--
The systemUsage controls the maximum amount of space the broker will
use before disabling caching and/or slowing down producers. For more information, see:
http://activemq.apache.org/producer-flow-control.html
-->
<systemUsage>
<systemUsage>
<memoryUsage>
<memoryUsage percentOfJvmHeap="70" />
</memoryUsage>
<storeUsage>
<storeUsage limit="100 gb"/>
</storeUsage>
<tempUsage>
<tempUsage limit="50 gb"/>
</tempUsage>
</systemUsage>
</systemUsage>
<transportConnectors>
<!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
</transportConnectors>
<!-- destroy the spring context on shutdown to stop jetty -->
<shutdownHooks>
<bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.hooks.SpringContextHook" />
</shutdownHooks>
Take a look at ${ACTIVEMQ_HOME}/conf/jetty.xml for more details
-->
<import resource="jetty.xml"/>
</beans>
Любая помощь будет оценена по достоинству
С уважением
Проблема заключалась в том, что у меня был networkTTL = 1, как только я сделал networkTTL = 2 в коннекторе metwork, сообщения могли быть прочитаны с луча2
Спасибо