artnaseef wrote > OK, so first off, be cautious of the meaning of the broker statistics. > Negative consumer counts is definitely a concern and worthy of a bug > report (hopefully with a unit test that replicates the problem - or at > least simple instructions to reproduce it). But some of the other > statistics can be misleading - especially enqueue and dequeue counts on > Topics.
Ok, but I'm thinking more about my configuration issue than a bug in ActiveMQ. artnaseef wrote > That temporary advisory is an attempt to optimize the case of a client > producing messages to a temporary destination after that destination has > been removed. Every connection consumes from that advisory by default > unless the "jms.watchTopicAdvisories" flag is set on the connection URI; > like this: > tcp://localhost:61616?jms.watchTopicAdvisories=false > However, that subscription should never be durable. Ok, now I've added watchTopicAdivsories=false, let's see what happen after that. I would expect no more AdvisoryTopic being created, and no more durable subscriptions associated both with the "real" topic and to the AdvisoryTopic. artnaseef wrote > Back to the answer of how missing messages are detected. Increasing > "Pending Queue" counts shows messages being stored - not lost. How is the > loss detected? The loss isn't detected, it's presumed:a message stored in the Pending Queue and never removed from there makes me think that such message will never be delivered to the client. artnaseef wrote > On the topic of disk space use: keep in mind that a single message can > hold an entire KahaDB data file (typically 32mb), leading to large amounts > of unused KahaDB space. Durable subscribers are a risk for causing a > problem of this type because they are designed to allow consumers to go > offline - which creates a "slow consumer" scenario (really a no-consumer > scenario). And when they are offline, their messages sit unconsumed in > the data files while other messages continue to flow through the system. Ok, but messages have an expiration time. I thought that when a message expires, it is not delivered, while it is put in DLQ queue. Is it right to presume that KahaDB is freed when a message is expired or not ? About durable subscribers: as mentioned before, I'm using JMS to notify a Java based client application that an event occurred on a remote server. Those clients are used by human users - no application to application scenario. It's quite normal that an user launches a long-lasting processing job, goes home, and next day when he or she arrives should be notified that his or her work has been completed. Without durable subscriptions, this is not possible AFAIK. Hope this helps. I really thank you for your time and precious explanation. I'm sorry to ask questions that maybe are silly, but I'm really a newbe on ActiveMQ. -- View this message in context: http://activemq.2283324.n4.nabble.com/Messages-are-kept-in-Pending-queue-for-durable-topic-subscribers-tp4690015p4690702.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.
