Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JMS的SwiftMQ实现中的page.db大小_Java_Database_Jms_Rabbitmq_Message Queue - Fatal编程技术网

Java JMS的SwiftMQ实现中的page.db大小

Java JMS的SwiftMQ实现中的page.db大小,java,database,jms,rabbitmq,message-queue,Java,Database,Jms,Rabbitmq,Message Queue,在我的产品中,我使用SwiftMQ作为消息传递服务。我看到它使用了一个page.dg文件,我读到它是JMS事务文件。我看到它在我的环境中增长非常大,高达9GB。我在网上做了一些研究,但是我的疑问没有得到明确的答案。基本上是1。为什么使用page.db文件以及手动删除此文件的含义。会不会有负面影响?此外,我是否可以控制此文件的增长,使其超过某个可配置的大小?如果您能清楚地回答这些问题,我们将不胜感激。我们在linux服务器上也使用SwiftMQ。据我所知,page.db和事务文件就像队列中消息的“

在我的产品中,我使用SwiftMQ作为消息传递服务。我看到它使用了一个page.dg文件,我读到它是JMS事务文件。我看到它在我的环境中增长非常大,高达9GB。我在网上做了一些研究,但是我的疑问没有得到明确的答案。基本上是1。为什么使用page.db文件以及手动删除此文件的含义。会不会有负面影响?此外,我是否可以控制此文件的增长,使其超过某个可配置的大小?如果您能清楚地回答这些问题,我们将不胜感激。

我们在linux服务器上也使用SwiftMQ。据我所知,page.db和事务文件就像队列中消息的“日志”

如果手动删除page.db和事务文件,它将删除当时队列中的所有消息。我以前做过这件事


但是,我不确定是否要控制文件的增长?

page.db包含的是实际的持久数据存储(包含页面,是一个数据库,因此它代表名称;-))。每次更改都记录在transaction.log中。这是在检查点期间同步的

为什么page.db会增长的问题很简单。有一个或多个队列具有大量持久消息的备份日志。在许多情况下,这些都是死气沉沉的持久订户。因此,只需使用SwiftMQ资源管理器检查:队列管理器Swiftlet/Usage,右键单击“显示实体表”。单击“消息计数”列按消息计数排序。这将有助于识别积压的队列


顺便说一句,where更有可能回答您的问题。

page.db用于存储进入队列的持久消息,一旦消费者消费了这些消息,它们就会被删除。如果您想限制page.db的最大大小,这是不可能的,但是一个解决办法是分析您的通信量(查看一条消息占用的空间[page.db size/一次所有队列中的消息数量])然后在队列上定义最大消息限制。

如果有人能告诉我SwiftMQ中使用的page.db文件,我将不胜感激。为什么不咨询?对存储和存储中使用的文件(page.db,transaction.log)有一个漂亮而全面的描述。