I'm setting up a new spoke broker. It works fine except for one durable
topic subscription.

I've copied the config across from an existing one that works. The spokes
connect into the hub:

       <networkConnectors>
            <networkConnector uri="static://(ssl://hub:61617)"
                name="hub"
                duplex="true"
                conduitSubscriptions="false"

destinationFilter="ActiveMQ.Advisory.Consumer.Queue.Server.Message.Events,ActiveMQ.Advisory.Consumer.Queue.account_events,ActiveMQ.Advisory.Consumer.Queue.accounts.ack,ActiveMQ.Advisory.Consumer.Topic.accounts,ActiveMQ.Advisory.Consumer.Topic.Account.Requests,ActiveMQ.Advisory.Consumer.Topic.Server.Requests"
                dynamicOnly="false">
                <staticallyIncludedDestinations>
                </staticallyIncludedDestinations>
                <dynamicallyIncludedDestinations>
                        <queue physicalName="account_events"/>
                        <queue physicalName="accounts.ack"/>
                        <queue physicalName="Server.Message.Events"/>
                        <topic physicalName="accounts"/>
                        <topic physicalName="Account.Requests"/>
                        <topic physicalName="Server.Requests"/>
                </dynamicallyIncludedDestinations>
                <excludedDestinations>
                    <queue physicalName="software"/>
                </excludedDestinations>
            </networkConnector>
        </networkConnectors>

The one for topic Server.Requests appears in the new spoke's console as a
durable topic subscriber. But in the log all I see is:

2013-05-31 11:04:00,500 | DEBUG | Activating
DurableTopicSubscription-morant-server_requests:morant-server_requests,
id=ID:morant-48672-1369993406909-2:101:-1:1, active=false, destinations=1,
total=0, pending=0, dispatched=0, inflight=0, prefetchExtension=0 |
org.apache.activemq.broker.region.DurableTopicSubscription | ActiveMQ
Transport: tcp:///127.0.0.1:55623@61612
2013-05-31 11:04:00,501 | DEBUG | Unregistering MBean
org.apache.activemq:BrokerName=morant,Type=Subscription,persistentMode=Durable,subscriptionID=morant-server_requests,destinationType=Topic,destinationName=Server.Requests,clientId=morant-server_requests
| org.apache.activemq.broker.jmx.ManagementContext | ActiveMQ Transport:
tcp:///127.0.0.1:55623@61612

Contrast this with a near identical client on the same new spoke:

2013-05-31 11:01:19,447 | DEBUG | Activating
DurableTopicSubscription-morant-account_requests:morant-account_requests,
id=ID:morant-48672-1369993406909-2:88:-1:1, active=false, destinations=1,
total=0, pending=0, dispatched=0, inflight=0, prefetchExtension=0 |
org.apache.activemq.broker.region.DurableTopicSubscription | ActiveMQ
Transport: tcp:///127.0.0.1:55597@61612
2013-05-31 11:01:19,448 | DEBUG | Unregistering MBean
org.apache.activemq:BrokerName=morant,Type=Subscription,persistentMode=Durable,subscriptionID=morant-account_requests,destinationType=Topic,destinationName=Account.Requests,clientId=morant-account_requests
| org.apache.activemq.broker.jmx.ManagementContext | ActiveMQ Transport:
tcp:///127.0.0.1:55597@61612
2013-05-31 11:01:19,453 | DEBUG | bridging (morant -> hub)
ID:morant-48672-1369993406909-1:1:0:0:452, consumer:
ID:morant-48672-1369993406909-3:2:1:1, destination
topic://ActiveMQ.Advisory.Consumer.Topic.Account.Requests, brokerPath:
[ID:morant-48672-1369993406909-0:1], message: ActiveMQMessage {commandId =
0, responseRequired = false, messageId =
ID:morant-48672-1369993406909-1:1:0:0:452, originalDestination = null,
originalTransactionId = null, producerId =
ID:morant-48672-1369993406909-3:1:1:1, destination =
topic://ActiveMQ.Advisory.Consumer.Topic.Account.Requests, transactionId =
null, expiration = 0, timestamp = 0, arrival = 0, brokerInTime =
1369994479452, brokerOutTime = 1369994479453, correlationId = null, replyTo
= null, persistent = false, type = Advisory, priority = 0, groupID = null,
groupSequence = 0, targetConsumerId = null, compressed = false, userID =
null, content = null, marshalledProperties = null, dataStructure =
ConsumerInfo {commandId = 3, responseRequired = false, consumerId =
ID:morant-48672-1369993406909-2:88:-1:1, destination =
topic://Account.Requests, prefetchSize = 1, maximumPendingMessageLimit = 0,
browser = false, dispatchAsync = true, selector = null, subscriptionName =
morant-account_requests, noLocal = false, exclusive = false, retroactive =
false, priority = 0, brokerPath = null, optimizedAcknowledge = false,
noRangeAcks = false, additionalPredicate = null}, redeliveryCounter = 0,
size = 1024, properties = {consumerCount=1, originBrokerURL=stomp://
0.0.0.0:61612, originBrokerId=ID:morant-48672-1369993406909-0:1,
originBrokerName=morant}, readOnlyProperties = false, readOnlyBody = false,
droppable = false} |
org.apache.activemq.network.DemandForwardingBridgeSupport | ActiveMQ
BrokerService[morant] Task-11

Evidently the bridging is happening for one but not the other. I can't see
why. All the spokes are supposed to be identical bar hostname.

This is with ActiveMQ 5.7.0 throughout the network.

Advice appreciated.

James

Reply via email to