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]]
