So we checked this ourselves, of course the messages are dropped out of the activemq persistence if they are received by the consumer(s). It is configurable in which time frame consumed messages will be dropped. And after checkpointing the journal to the database consumed messages are also dropped. But in this case:
if (longTermPersistence instanceof JDBCPersistenceAdapter) { // Disabled periodic clean up as it deadlocks with the checkpoint // operations. ((JDBCPersistenceAdapter) longTermPersistence).setCleanupPeriod(0); } ( from class JournalPersistenceAdapter) the periodic clean up is disabled and the database is cleaned only during checkpoint operation (I guess...) spiiff wrote: > > Hi, > one question about the message expiration in combination with topics. > I know how to configure the time-to-live. > > A message first resides inside the journal. After the checkpointing(how to > configure checkpointing??), it is persisted in a database (if JDBC is > configured). > > If the time-to-live is specified as zero the message does not expire. > If the message does not expire, will it never be dropped out of the > database? > > How are the rules? > > If you are using durable subscription and set the "time to live" to maybe > 10 seconds and the consumer is active after 20 seconds again, then the > consumer will not receive the message, because it was dropped already.. ( > I tried this in my UnitTest) > > > We thought a message is dropped out of the activemq persistence if it is > received by the consumer(s). We have to make sure the consumers really > receive the messages. But if we set time-to-live to zero, then our > database will explode. > > Regards, > Matthias > -- View this message in context: http://www.nabble.com/message-expiration-tf4713621s2354.html#a13590816 Sent from the ActiveMQ - User mailing list archive at Nabble.com.