Hi all, I'm looking at ActiveMQ from the perspective of research. We're in need of a p/s platform that can create topics dynamically and where the clients have very little knowledge of other clients or services that may be connected to a broker. Because these clients also connect at will, mostly dynamically and may change their interest over time, there are some complications that seem to arise in the context of message delivery.
One requirement that you don't see often in enterprise systems is that any consumer that happens to connect to the platform should be able to register an interest on any topic and specify how far back in time the messages should be played back to him. I've read a lot of information about persistence, durable consumers and so on, but JMS seems to assume a rather static environment. I.e., you make yourself known as a consumer once, either durable or not, and the broker maintains these messages for you if you happen to go offline. The following assertions demonstrate how I interpreted the terms that apply to this problem: 1. Persistence: preventing messages getting lost when the broker crashes. 2. Durable consumer: A consumer that registers once, is remembered by the broker, and for whom the broker maintains a list of unacknowledged messages, which are sent once the consumer comes back online. 3. Message TTL: The time the message is valid for. If a message expired on non-persistent queues they are discarded. When on a persistent queue, it is moved to DLQ. durable consumers no longer receive these messages if a message is expired. In this sense, TTL is only useful to set when there are durable consumers are consuming from the topic. 4. The overall conclusion I made is that the broker only sends non-expired messages to currently known consumers. So, even if a message is persistent and is still in a topic, a new consumer registering after a message was sent will only ever receive the newer messages sent by producers. If it wanted to receive the ones sent before that, it should have been a durable consumer and it should have registered prior to the messages being created. 5. There is no "JMS" method to retrieve messages by (historic) timestamp from a particular topic. Can someone tell me whether these assertions are correct, please? -- View this message in context: http://old.nabble.com/Message-persistence%2C-durable-consumers-and-more.-tp27905022p27905022.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.