You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by cmoulliard <cm...@gmail.com> on 2010/03/05 17:55:50 UTC

Message not forwared in a network broker - ActiveMQ 5.3 & SMX4

Hi, 

I run ActiveMq 5.3 in embedded mode in two SMX4 instances. I have defined a
forward network topology to formard messages from master to slave when a
client is connected to the slave. No messages are forwarded ? Where is the
issue ?

Config of Master

   <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>

Config of the Slave

    <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>

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

I don't see anything

Could it be related to this parameter  : advisorySupport="false" ?

Kind regards

Charles

-----
Charles Moulliard
SOA Architect

My Blog :  http://cmoulliard.blogspot.com/ http://cmoulliard.blogspot.com/  
-- 
View this message in context: http://old.nabble.com/Message-not-forwared-in-a-network-broker---ActiveMQ-5.3---SMX4-tp27796476p27796476.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.