Hi,

I wanted to run this by the developers to understand why this happens. We are 
running the release 0.16 C++ broker and have written some applications to use 
the infrastructure. I have developed a simple applications that sends messages 
to a receiving application on from the amq.topic exchange using the auto 
created queues.  The connection is setup to reconnect in the broker goes down 
by setting connection option as reconnect:true.

I am using the receive loop for the messages s getNextReceiver calls. In order 
for that to work the setCapacity for receivers is set at 10 for that matter 
could be higher. The applications are linked with the qpidclient library  
-background info. The senderstarts up and sends 20 messages which the receiver 
receives. After that the sender does not send any more messages. The test that 
I was trying was , what happens if the broker is killed and then restarted. 
What I see if I do that is that all the messages are resent by the broker to 
the receiving loop.

I haven't done anything to the link options so they must be the default ones. 
Each message received is acked with the session acknowledge calls, so I assume 
the buffers must be released and the messages not kept in the qpid subsystem. 
However that does not seem to be the case and each time I restart the qpidd 
deaemon, the messages are resent to the receiving app.  I have played around 
with setting capacity in the sender and the receiver. If I set the capacity of 
the sender to 1 then only one message is retransmitted when the broker comes 
up.  If I set the capacity on the sender and the receiver to 100 i.e. higher 
than 20 then all messages get resent on every restart of the broker.

Can someone tell me what I am doing wrong.  It seems that the messages are 
persistant.

Thanks

Nitin

[cid:[email protected]]

Reply via email to