qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wolgemuth Greg <woo...@eseri.com>
Subject Re: Exchange Routing Troubles
Date Thu, 18 Nov 2010 02:54:47 GMT
Reply is in-line.

On Wed, 2010-11-17 at 10:13 -0800, Thomas Nguyen wrote:
> Hello,
> 
>  
> 
> I am testing QPID for the first time and am having trouble with messages
> being routed from an exchange to a queue.  I am using a C++ broker and
> the Java client to publish messages.  First off here is my initial
> exchange and queue setup:
> 
>  
> 
> -bash-3.2$ ./qpid-config add exchange topic test.exchange --durable
> 
> -bash-3.2$ ./qpid-config add queue test.queue --durable
> 
> -bash-3.2$ ./qpid-config bind test.exchange test.queue routingKey
> 
>  
> 
> -bash-3.2$ ./qpid-config exchanges -b
> 
> Exchange '' (direct)
> 
>     bind [test.queue] => test.queue
> 
>     bind [reply-myhost.com.19752.1] => reply-myhost.com.19752.1
> 
>     bind [topic-myhost.com.19752.1] => topic-myhost.com.19752.1
> 
> Exchange 'qpid.management' (topic)
> 
>     bind [schema.#] => topic-myhost.com.19752.1
> 
>     bind [console.obj.*.*.org.apache.qpid.broker.agent] =>
> topic-myhost.com.19752.1
> 
> Exchange 'amq.direct' (direct)
> 
>     bind [reply-myhost.com.19752.1] => reply-myhost.com.19752.1
> 
> Exchange 'amq.topic' (topic)
> 
> Exchange 'amq.fanout' (fanout)
> 
> Exchange 'amq.match' (headers)
> 
> Exchange 'test.exchange' (topic)
> 
>     bind [routingKey] => test.queue
> 
>  
> 
> -bash-3.2$ ./qpid-config queues -b
> 
> Queue 'test.queue'
> 
>     bind [test.queue] => ''
> 
>     bind [routingKey] => test.exchange
> 
> Queue 'reply-myhost.com.19794.1'
> 
>     bind [reply-myhost.com.19794.1] => ''
> 
>     bind [reply-myhost.com.19794.1] => amq.direct
> 
> Queue 'topic-myhost.com.19794.1'
> 
>     bind [topic-myhost.com.19794.1] => ''
> 
>     bind [schema.#] => qpid.management
> 
>     bind [console.obj.*.*.org.apache.qpid.broker.agent] =>
> qpid.management
> 
> -bash-3.2$
> 
>  
> 
> I'm only concerned with the 'test.exchange' exchange and 'test.queue'
> queue.  After setting up the exchange and queue I send a message to the
> exchange using the Java client and expect to find the 'test.queue' has a
> new message.  The Java code I run is pasted here:
> http://pastie.org/1304220.  Here is the status of the exchange and queue
> using qpid-tool after publishing a message to the exchange:
> 
>  
> 
> qpid: show org.apache.qpid.broker:exchange
> 
> Object of type org.apache.qpid.broker:exchange: (last sample time:
> 23:44:11)
> 
>     Type       Element            104     105              106
> 107        108         109        110
> 
>  
> ========================================================================
> ============================================
> 
>     property   vhostRef           103     103              103
> 103        103         103        103
> 
>     property   name                       qpid.management  amq.direct
> amq.topic  amq.fanout  amq.match  test.exchange
> 
>     property   type               direct  topic            direct
> topic      fanout      headers    topic
> 
>     property   durable            False   False            True
> True       True        True       True
> 
>     property   autoDelete         False   False            False
> False      False       False      False
> 
>     property   altExchange        <NULL>  <NULL>           <NULL>
> <NULL>     <NULL>      <NULL>     <NULL>
> 
>     property   arguments          {}      {}               {}
> {}         {}          {}         {}
> 
>     statistic  producerCount      0       0                0           0
> 0           0          0
> 
>     statistic  producerCountHigh  0       0                0           0
> 0           0          0
> 
>     statistic  producerCountLow   0       0                0           0
> 0           0          0
> 
>     statistic  bindingCount       3       2                1           0
> 0           0          1
> 
>     statistic  bindingCountHigh   3       2                1           0
> 0           0          1
> 
>     statistic  bindingCountLow    1       0                0           0
> 0           0          1
> 
>     statistic  msgReceives        0       29551            6328        0
> 12          0          1
> 
>     statistic  msgDrops           0       26164            7           0
> 4           0          0
> 
>     statistic  msgRoutes          0       3387             6321        0
> 8           0          1
> 
>     statistic  byteReceives       0       3648438          2121538     0
> 72          0          12
> 
>     statistic  byteDrops          0       3179885          48          0
> 24          0          0
> 
>     statistic  byteRoutes         0       468553           2121490     0
> 48          0          12
> 
>  
> 
> qpid: show org.apache.qpid.broker:queue
> 
> Object of type org.apache.qpid.broker:queue: (last sample time:
> 23:44:21)
> 
>     Type       Element                111
> 112                                          113
> 
>  
> ========================================================================
> ========================================================================
> ==============================
> 
>     property   vhostRef               103
> 103                                          103
> 
>     property   name                   test.queue
> mgmt-myhost.com.19824  repl-myhost.com.19824
> 
>     property   durable                True
> False                                        False
> 
>     property   autoDelete             False
> True                                         True
> 
>     property   exclusive              False
> True                                         True
> 
>     property   arguments              {u'qpid.file_size': 24L,
> u'qpid.file_count': 8L}  {}                                           {}
> 
>     property   altExchange            <NULL>
> <NULL>                                       <NULL>
> 
>     statistic  msgTotalEnqueues       0 messages
> 737                                          41
> 
>     statistic  msgTotalDequeues       0
> 735                                          41
> 
>     statistic  msgTxnEnqueues         0
> 0                                            0
> 
>     statistic  msgTxnDequeues         0
> 0                                            0
> 
>     statistic  msgPersistEnqueues     0
> 0                                            0
> 
>     statistic  msgPersistDequeues     0
> 0                                            0
> 
>     statistic  msgDepth               0
> 2                                            0
> 
>     statistic  byteDepth              0 octets
> 270                                          0
> 
>     statistic  byteTotalEnqueues      0
> 100204                                       15667
> 
>     statistic  byteTotalDequeues      0
> 99934                                        15667
> 
>     statistic  byteTxnEnqueues        0
> 0                                            0
> 
>     statistic  byteTxnDequeues        0
> 0                                            0
> 
>     statistic  bytePersistEnqueues    0
> 0                                            0
> 
>     statistic  bytePersistDequeues    0
> 0                                            0
> 
>     statistic  consumerCount          0 consumers
> 1                                            1
> 
>     statistic  consumerCountHigh      0
> 1                                            1
> 
>     statistic  consumerCountLow       0
> 0                                            0
> 
>     statistic  bindingCount           2 bindings
> 3                                            2
> 
>     statistic  bindingCountHigh       2
> 3                                            2
> 
>     statistic  bindingCountLow        2
> 0                                            0
> 
>     statistic  unackedMessages        0 messages
> 0                                            0
> 
>     statistic  unackedMessagesHigh    0
> 0                                            0
> 
>     statistic  unackedMessagesLow     0
> 0                                            0
> 
>    statistic  messageLatencySamples  0
> 0                                            0
> 
>     statistic  messageLatencyMin      0
> 0                                            0
> 
>     statistic  messageLatencyMax      0
> 0                                            0
> 
>     statistic  messageLatencyAverage  0
> 0                                            0
> 
>  
> 
> So the exchange reflects that a message has been published but the queue
> does not reflect that it was routed the message.  Anyone know what I am
> doing wrong?

The topic exchange can be thought of as a "publish/subscribe" exchange,
in contrast to the direct exchange behaviour of "store and forward". In
other words, a topic exchange will not leave messages in a queue - all
subscribers to a queue will receive a copy of any message sent to that
queue immediately, when using a topic exchange. If a message is sent to
a queue on a topic exchange, and that queue has no subscribers, the
messages simply vanishes (it is sent to no-one, and is then discarded).

If you want the behaviour of having messages persist on the queue, with
or without a subscriber, try establishing a 'direct' queue instead.
> 
>  
> 


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org


Mime
View raw message