Understanding ActiveMQ dynamicallyIncludedDestinations

Go To StackoverFlow.com

1

I'm trying to understand how ActiveMQ's configuration treats dynamicallyIncludedDestinations etc.

eg. Consider the following configuration extract:

<amq:broker id="broker" ... advisorySupport="false"> 
    <amq:networkConnectors>
        <amq:networkConnector name="connectorA" duplex="true"
            conduitSubscriptions="false" uri="${networkconnectorURL}">
                <amq:dynamicallyIncludedDestinations>
                    <amq:queue physicalName=">"/>
                 </amq:dynamicallyIncludedDestinations>
            </amq:networkConnector>

            <amq:networkConnector name="connectorB" duplex="true" 
             conduitSubscriptions="true" uri="${networkconnectorURL}">
                <amq:staticallyIncludedDestinations>
                    <amq:topic physicalName="topicA" />
                    <amq:topic physicalName="topicB" />
                </amq:staticallyIncludedDestinations>
            </amq:networkConnector>
    </amq:networkConnectors>

In this scenario:

  • Given connectorA defines dynamicallyIncludedDestinations, does that automatically exclude anything that is not explictly defined? ie., will connectorA receive any messages sent to a topic, rather than a queue?

This configuration declares advisorySupport='false', of which the documentation states the following:

Networks do not work as expected (they cannot dynamically respond to new consumers) if the advisorySupport broker property is disabled. A fully statically configured network is the only option if advisorySupport is disabled. Read more about it in the following section

Therefore, does that mean that the <amq:queue physicalName=">"/> declared in connectorA will only receive messages on queues within it's own broker, rather than the entire cluster?

If not, (as that doesn't appear to align with the results I'm seeing) what is the correct way to interpret this combination?

  • Again, given the broker has advisorySupport='false' does this prevent me from adding a dynamicallyIncludedDestinations section to connectorB?

  • If I send a message to jms:topic:topicC, is it correct to say that the only consumers who will receive it are those subscribed on the broker from where the message is sent?

2012-04-04 08:14
by Marty Pitt


2

With advisory support turned off, you turned off all the ability to create dynamic networks as brokers don't have any means to propagate info on message demand for destinations. So your connectorA doesn't make much sense in this case.

2012-04-04 09:03
by Dejan Bosanac
Ads