ActiveMQ - old Message cleanup/archive

http://activemq.2283324.n4.nabble.com/activemq-database-cleanup-td2346636.html

does activemq delete consumed / expired messages from the database on 
its own or should i have a job deleting old messages running in the 
background? 

corollary: if activemq is doing the cleanup and the database is 
filling up should i be worried about my app leaking messages that 
aren't being consumed? 

 

 

 

It generally does it on its own. For queues messages are deleted 
immediately (though with the use of the journal that only happens when 
a checkpoint occurs). For durable topics there is a background thread 
which goes and tries to delete any message which has been consumed by 
all the durable subscribers. 

For expired messages we are currently quite passive and kinda zap them 
as we go along. I'm sure we could be a bit more aggressive in our 
removal of expired messages

 

 

http://activemq.apache.org/kahadb.html

 

KahaDB Properties

property namedefault valueComments
directoryactivemq-datathe path to the directory to use to store the message store data and log files
indexWriteBatchSize1000number of indexes written in a batch
indexCacheSize10000number of index pages cached in memory
enableIndexWriteAsyncfalseif set, will asynchronously write indexes
journalMaxFileLength32mba hint to set the maximum size of the message data logs
enableJournalDiskSyncstrueensure every non transactional journal write is followed by a disk sync (JMS durability requirement)
cleanupInterval30000time (ms) before checking for a discarding/moving message data logs that are no longer used
checkpointInterval5000time (ms) before checkpointing the journal
ignoreMissingJournalfilesfalseIf enabled, will ignore a missing message log file
checkForCorruptJournalFilesfalseIf enabled, will check for corrupted Journal files on startup and try and recover them
checksumJournalFilesfalsecreate a checksum for a journal file - to enable checking for corrupted journals
Available since version 5.4:
archiveDataLogsfalseIf enabled, will move a message data log to the archive directory instead of deleting it.
directoryArchivenullDefine the directory to move data logs to when they all the messages they contain have been consumed.
databaseLockedWaitDelay10000time (ms) before trying to get acquire a the database lock (used by shared master/slave)
maxAsyncJobs10000the maximum number of asynchronous messages that will be queued awaiting storage (should be the same as the number of concurrent MessageProducers)
concurrentStoreAndDispatchTransactionstrueenable the dispatching of messages to interested clients to happen concurrently with storing a transaction
concurrentStoreAndDispatchTopicstrueenable the dispatching of Topic messages to interested clients to happen concurrently with message storage
concurrentStoreAndDispatchQueuestrueenable the dispatching of Queue messages to interested clients to happen concurrently with message storage

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
解决SLF4J冲突的一种更合理的方法是通过排除不需要的SLF4J依赖项来明确指定使用的绑定。 在你的项目的依赖配置文件(例如`pom.xml`)中,你可以使用`<exclusions>`元素来排除特定的SLF4J依赖项。以排除`activemq-all`中的SLF4J绑定为例,你可以尝试以下配置: ```xml <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>5.9.1</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> <exclusion> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </exclusion> </exclusions> </dependency> ``` 上述配置将排除`activemq-all`依赖项中的`slf4j-log4j12`和`logback-classic`。这样,只有其他依赖项中的SLF4J绑定会被使用。 请确保在排除依赖项时谨慎操作,以免影响其他模块或功能。如果其他模块需要使用`activemq-all`中的SLF4J绑定,请考虑其他解决方案,如升级或调整依赖版本。 此外,你还可以检查项目的其他依赖项,并确保只有一个SLF4J绑定存在。如果有多个绑定存在,你可以选择保留其中一个,并将其余的排除掉。 总之,通过明确指定使用的SLF4J绑定,并排除不需要的依赖项,可以更合理地解决SLF4J冲突问题。如果问题仍然存在,请提供更多关于你的项目、依赖库以及使用的构建工具和运行环境的信息,以便更准确地帮助你解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值