that the local consumer is gone. Each consumer registers with the connection to get messages destined for it. The dispatcher is removed on consumer close, but before the close is processes broker side so it is possible to get dispatch to a nonexistent consumer which is ok because any dispatched and unacked messages will get redispatched when the close is processed.
On 26 June 2014 13:45, Martin Lichtin <lich...@yahoo.com.invalid> wrote: > Hi all, while debugging an (unexpected) redelivered message, I come across > the following log > > > 2014-06-25 13:37:53,608 | DEBUG | ActiveMQ NIO Worker 16 | > ActiveMQConnection | he.activemq.ActiveMQConnection$3 1887 | 93 > - org.apache.activemq.activemq-osgi - 5.10.0 | > org.apache.activemq.ActiveMQConnection$3@6484d6fb no dispatcher for > MessageDispatch {commandId = 0, responseRequired = false, consumerId = > ID:plutohp-60733-1403696178633-8:1:323:1, destination = queue://myqueue, > message = ActiveMQTextMessage {commandId = 1211, responseRequired = true, > messageId = ID:plutohp-60733-1403696178633-8:6:101:1:1, originalDestination = > null, originalTransactionId = null, producerId = > ID:plutohp-60733-1403696178633-8:6:101:1, destination = queue://myqueue, > transactionId = > XID:[1096044365,globalId=3137322e32322e33302e33312e746d30303637313030303031,branchId=3137322e32322e33302e33312e746d393634], > expiration = 0, timestamp = 1403696271841, arrival = 0, brokerInTime = > 1403696271842, brokerOutTime = 1403696273599, correlationId = null, replyTo = > null, persistent = true, type = null, priority = 0, groupID = null, > groupSequence = 0, targetConsumerId = null, compressed = false, userID = > null, content = org.apache.activemq.util.ByteSequence@4d3e2c4b, > marshalledProperties = org.apache.activemq.util.ByteSequence@2cce178b, > dataStructure = null, redeliveryCounter = 0, size = 0, properties = > {breadcrumbId=ID-plutohp-60805-1403696180532-0-970, > destination=jms:myqueue}, readOnlyProperties = false, readOnlyBody = false, > droppable = false, jmsXGroupFirstForConsumer = false, text = ..., > redeliveryCounter = 0} in > {ID:plutohp-60733-1403696178633-8:1:326:1=ActiveMQSession > {id=ID:plutohp-60733-1403696178633-8:1:326,started=true}, > ID:plutohp-60733-1403696178633-8:1:325:1=ActiveMQSession > {id=ID:plutohp-60733-1403696178633-8:1:325,started=true}, > ID:plutohp-60733-1403696178633-8:1:-1:1=org.apache.activemq.AdvisoryConsumer@60cb634c} > > > It's from the ActiveMQConnection.onCommand() method: > > > ActiveMQDispatcher > dispatcher = dispatchers.get(md.getConsumerId()); > if(dispatcher != null) { > ... > dispatcher.dispatch(md); > } else{ > LOG.debug("{} no dispatcher for {} in > {}", this, md, dispatchers); > } > > Can someone help me understand what the dispatcher=null case signifies? -- http://redhat.com http://blog.garytully.com