0

默认情况下,队列在 hornetQ 中是持久的。那么我们为什么要配置 max-size-bytes 并使用地址进行分页呢?所有消息都应存储在磁盘上。hornetQ文档中有一个示例:

<address-settings>
   <address-setting match="jms.someaddress">
      <max-size-bytes>104857600</max-size-bytes>
      <page-size-bytes>10485760</page-size-bytes>
      <address-full-policy>PAGE</address-full-policy>
   </address-setting>
</address-settings>

这适用于非持久队列吗?或非持久性消息。(文档中没有提到)

4

1 回答 1

2

据我所知, max-size-bytes 是内存中队列的最大大小,而 page-size-bytes 是磁盘中每个分页文件的大小。

您可能想要定义 max-size-bytes 否则您可能会耗尽堆内存。一旦你这样做了,你应该定义达到队列最大大小时系统的行为;您可以阻止生产者、丢弃即将到来的消息或分页到磁盘。然后你可能想定义 hornetq 在需要时创建的分页文件的大小。

于 2012-08-27T14:10:48.513 回答