Message not forwared in a network broker - ActiveMQ 5.3 & SMX4 -
advisorySupport
---------------------------------------------------------------------------------
Key: AMQ-2640
URL: https://issues.apache.org/activemq/browse/AMQ-2640
Project: ActiveMQ
Issue Type: Bug
Affects Versions: 5.3.0
Reporter: Charles Moulliard
Hi,
I run ActiveMq 5.3 in embedded mode in two SMX4 instances. I have defined a
forward network topology to forward messages from master to slave when a client
is connected to the slave. No messages are forwarded !
Where is the issue ?
Config of Master
{code}
<broker xmlns="http://activemq.apache.org/schema/core"
dataDirectory="d:/temp/activemq-data" brokerName="master"
useShutdownHook="false" useJmx="true" advisorySupport="false">
<!-- Destination specific policies using destination names or wildcards
-->
<destinationPolicy>
<policyMap>
<policyEntries>
<policyEntry queue=">" memoryLimit="5mb"/>
<policyEntry topic=">" memoryLimit="5mb">
<subscriptionRecoveryPolicy>
<lastImageSubscriptionRecoveryPolicy/>
</subscriptionRecoveryPolicy>
</policyEntry>
</policyEntries>
</policyMap>
</destinationPolicy>
<!-- Use the following to configure how ActiveMQ is exposed in JMX -->
<managementContext>
<managementContext createConnector="false"/>
</managementContext>
<!-- The store and forward broker networks ActiveMQ will listen to -->
<networkConnectors>
<!-- by default just auto discover the other brokers
<networkConnector name="default-nc" uri="multicast://default"/>
-->
<!-- Example of a static configuration:
<networkConnector name="host1 and host2"
uri="static://(tcp://host1:61616,tcp://host2:61616)"/>
-->
<networkConnector uri="static://(tcp://localhost:61617)"/>
</networkConnectors>
<!--
<persistenceAdapter>
<amqPersistenceAdapter syncOnWrite="false"
directory="d:/temp/activemq/default" maxFileLength="20 mb"/>
</persistenceAdapter>
-->
<persistenceAdapter>
<!-- Master/Slave
<kahaDB directory="d:/temp/activemq-data" journalMaxFileLength="32mb"/>
-->
<kahaDB directory="d:/temp/activemq-data-master"
enableJournalDiskSyncs="false" indexWriteBatchSize="10000"
indexCacheSize="1000"/>
</persistenceAdapter>
<!-- Use the following if you wish to configure the journal with JDBC
-->
<!--
<persistenceAdapter>
<journaledJDBC dataDirectory="${activemq.base}/data"
dataSource="#postgres-ds"/>
</persistenceAdapter>
-->
<!-- Or if you want to use pure JDBC without a journal -->
<!--
<persistenceAdapter>
<jdbcPersistenceAdapter dataSource="#postgres-ds"/>
</persistenceAdapter>
-->
<!-- The maximum about of space the broker will use before slowing
down producers -->
<systemUsage>
<systemUsage>
<memoryUsage>
<memoryUsage limit="50 mb"/>
</memoryUsage>
<storeUsage>
<storeUsage limit="1 gb" name="foo"/>
</storeUsage>
<tempUsage>
<tempUsage limit="100 mb"/>
</tempUsage>
</systemUsage>
</systemUsage>
<!-- The transport connectors ActiveMQ will listen to -->
<transportConnectors>
<!-- <transportConnector name="openwire"
uri="tcp://localhost:61616" discoveryUri="multicast://default"/> -->
<transportConnector name="openwire" uri="tcp://localhost:61616"/>
<!-- <transportConnector name="stomp"
uri="stomp://localhost:61613"/> -->
</transportConnectors>
</broker>
{code}
Config of the Slave
{code}
<broker xmlns="http://activemq.apache.org/schema/core"
dataDirectory="d:/temp/activemq-data" brokerName="slave"
useShutdownHook="false" useJmx="true" advisorySupport="false">
<!-- Destination specific policies using destination names or wildcards
-->
<destinationPolicy>
<policyMap>
<policyEntries>
<policyEntry queue=">" memoryLimit="5mb"/>
<policyEntry topic=">" memoryLimit="5mb">
<subscriptionRecoveryPolicy>
<lastImageSubscriptionRecoveryPolicy/>
</subscriptionRecoveryPolicy>
</policyEntry>
</policyEntries>
</policyMap>
</destinationPolicy>
<!-- Use the following to configure how ActiveMQ is exposed in JMX -->
<managementContext>
<managementContext createConnector="false"/>
</managementContext>
<!-- The store and forward broker networks ActiveMQ will listen to -->
<networkConnectors>
<!-- by default just auto discover the other brokers
<networkConnector name="default-nc" uri="multicast://default"/>
-->
<!-- Example of a static configuration:
<networkConnector name="host1 and host2"
uri="static://(tcp://host1:61616,tcp://host2:61616)"/>
-->
</networkConnectors>
<!--
<persistenceAdapter>
<amqPersistenceAdapter syncOnWrite="false"
directory="d:/temp/activemq/default" maxFileLength="20 mb"/>
</persistenceAdapter>
-->
<persistenceAdapter>
<!-- Master/Slave
<kahaDB directory="d:/temp/activemq-data" journalMaxFileLength="32mb"/>
-->
<!-- <kahaDB directory="d:/temp/activemq-data-slave"
enableJournalDiskSyncs="false" indexWriteBatchSize="10000"
indexCacheSize="1000"/> -->
<kahaDB directory="d:/temp/activemq-data-slave"
enableJournalDiskSyncs="false" indexWriteBatchSize="10000"
indexCacheSize="1000"/>
</persistenceAdapter>
<!-- Use the following if you wish to configure the journal with JDBC
-->
<!--
<persistenceAdapter>
<journaledJDBC dataDirectory="${activemq.base}/data"
dataSource="#postgres-ds"/>
</persistenceAdapter>
-->
<!-- Or if you want to use pure JDBC without a journal -->
<!--
<persistenceAdapter>
<jdbcPersistenceAdapter dataSource="#postgres-ds"/>
</persistenceAdapter>
-->
<!-- The maximum about of space the broker will use before slowing
down producers -->
<systemUsage>
<systemUsage>
<memoryUsage>
<memoryUsage limit="50 mb"/>
</memoryUsage>
<storeUsage>
<storeUsage limit="1 gb" name="foo"/>
</storeUsage>
<tempUsage>
<tempUsage limit="100 mb"/>
</tempUsage>
</systemUsage>
</systemUsage>
<!-- Configure the broker as a slave
<services>
<masterConnector remoteURI="tcp://localhost:61616" />
</services>
-->
<!-- The transport connectors ActiveMQ will listen to -->
<transportConnectors>
<!-- <transportConnector name="openwire"
uri="tcp://localhost:61616" discoveryUri="multicast://default"/> -->
<transportConnector name="openwire" uri="tcp://localhost:61617"/>
<!-- <transportConnector name="stomp"
uri="stomp://localhost:61613"/> -->
</transportConnectors>
</broker>
{code}
Network connection is well established
17:52:27,090 | INFO | xtenderThread-10 | OsgiBundleXmlApplicationContext |
ractOsgiBundleApplicationContext 348 | Not publishing application contex
t OSGi service for bundle null (activemq-broker.xml)
17:52:27,090 | INFO | xtenderThread-10 | ContextLoaderListener |
BundleApplicationContextListener 45 | Application context successfully
refreshed (OsgiBundleXmlApplicationContext(bundle=activemq-broker.xml,
config=osgibundle:/META-INF/spring/*.xml))
17:52:27,215 | INFO | r=vm://master#12 | DemandForwardingBridge |
rk.DemandForwardingBridgeSupport 303 | Network connection between vm://m
aster#12 and tcp://localhost/127.0.0.1:61617(slave) has been established.
but when I connect with the client : ant consumer -Durl="tcp://localhost:61617"
-Dqueue=IN on the slave broker
I don't see anything on the console
Could it be related to this parameter --> advisorySupport="false" ?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.