java - 用于持久消息的 kaha 数据库消息存储

标签 java activemq message-queue persistent-data kahadb

我知道 db-xx.log 是日志文件,db.redo 是引用文件?

db-xx.log 存储尚未使用的消息。这些消息在被消费后将从 db-xx.log 中删除。 db.redo 按消息 id 存储消息的引用(存储在 db-xx.log 中)。

  1. 但是,什么是 db.data 和 db.free?
  2. 它们的功能是什么?

我的理解是代理首先将消息存储在缓存( volatile 内存)中,然后当检查点或缓存大小已满时将这些消息移动(附加)到 db-xx.log。

  1. 对吗?

谢谢

最佳答案

db.data 包含引用未使用消息的 btree 页面。 db.redo 是将要针对 db.data 执行的更新的重做日志。 db.free 跟踪 db.data 中的空闲页面。

关于java - 用于持久消息的 kaha 数据库消息存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12816098/

相关文章:

java - 如何在arraylist中添加数据并更新

activemq - 预先构建的 AMQP 和 STOMP 客户端(如在 GUI 客户端中)

postgresql - 为什么我们需要像 RabbitMQ 这样的消息代理而不是像 PostgreSQL 这样的数据库?

.net - (Windows Azure) 消息队列 - 多台计算机上的事件

java - JSNI : GWT :No source code is available for type java. io.RandomAccessFile

java - 考虑重新访问上面的条目或在您的配置中定义类型为 'org.springframework.data.redis.core.RedisTemplate' 的 bean

java switch语句很多情况都简化了

java - 无法从外部连接到 Jetty 中嵌入的 ActiveMQ 代理

java - 计算 JMS 队列上的消息时的奇怪行为

c++ - 没有 make 运行 qpid c 示例的方法有哪些?