2

发现在ActiveMQ中默认安装了KahaDB。找到一个 db.data 文件,当我打开它(它是一个配置文件)时,我看到了这个:

#
#Fri Aug 02 11:55:47 ART 2013
fileType=org.apache.activemq.store.kahadb.disk.page.PageFile
pageSize=4096
freePages=1
cleanShutdown=false
metaDataTxId=7
fileTypeVersion=1
lastTxId=52967
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            #
#Fri Aug 02 11:55:47 ART 2013
fileType=org.apache.activemq.store.kahadb.disk.page.PageFile
pageSize=4096
freePages=1
cleanShutdown=false
metaDataTxId=7
fileTypeVersion=1
lastTxId=52967

重复了两次。我应该用 Notepad++ 还是其他程序编辑它?如果没有,如果我在那里添加持久性属性,我是否也应该添加两次?

是否可以使用 KahaDB 持久化消息信息?我需要类似:TIMESTAMP、MESSAGE_ID、REPLY_TO

只有那种数据。

尝试使用 log4j 和 kahadb 但没有记录我实际需要的内容。这是我的 log4j.properties 文件

# Default log level
log4j.rootLogger=DEBUG, kahadb

# KahaDB configuration
log4j.appender.kahadb=org.apache.log4j.RollingFileAppender 
log4j.appender.kahadb.file=logs/data/kahadb.log 
log4j.appender.kahadb.maxFileSize=1024KB 
log4j.appender.kahadb.maxBackupIndex=5 
log4j.appender.kahadb.append=true 
log4j.appender.kahadb.layout=org.apache.log4j.PatternLayout 
log4j.appender.kahadb.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n 
log4j.logger.org.apache.activemq.store.kahadb.MessageDatabase=TRACE, kahadb

谢谢。

4

1 回答 1

2

它不是很清楚你的问题是什么。默认情况下,如果这些消息以持久的传递模式发送,则代理将使用其内部KahaDB存储来持久保存所有发送到队列或持久主题订阅的消息。没有理由编辑任何 KahaDB 文件,例如 db.data 或 db.log,因为这会损坏您的存储。您可以在此处阅读有关商店架构和性能调优的信息。

KahaDB 上有大量信息,只需简单的 Google 搜索即可找到。

于 2013-08-03T11:47:48.730 回答