You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Dejan Bosanac (JIRA)" <ji...@apache.org> on 2010/12/02 14:10:03 UTC

[jira] Updated: (AMQ-2640) Message not forwared in a network broker - ActiveMQ 5.3 & SMX4 - advisorySupport

     [ https://issues.apache.org/jira/browse/AMQ-2640?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dejan Bosanac updated AMQ-2640:
-------------------------------

    Fix Version/s:     (was: 5.4.2)
                   5.5.0

> Message not forwared in a network broker - ActiveMQ 5.3 & SMX4  - advisorySupport
> ---------------------------------------------------------------------------------
>
>                 Key: AMQ-2640
>                 URL: https://issues.apache.org/jira/browse/AMQ-2640
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.3.0
>            Reporter: Charles Moulliard
>             Fix For: 5.5.0
>
>
> 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.