OK time to face-palm myself. There were line endings in the destinationFilter. I even ignored when the copy-paste into the email showed them!
Going to shift this into SVN internally! On 31 May 2013 11:26, James Green <james.mk.gr...@gmail.com> wrote: > 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 > >