2012-06-25 39 views
0

。那么为什么我们应该配置max-size-bytes和分页地址?所有消息都应存储在磁盘上。在hornetQ中有一个例子documentationhornetQ中的max-size-bytes和分页默认情况下,hornetQ中的队列在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> 

这是否用于非持久队列?或非持久性消息。 (它没有在文档中提到它)

回答

2

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

您可能需要定义最大字节数,否则可能导致堆内存耗尽。一旦你这样做了,你应该在达到队列最大大小时定义系统的行为;您可以屏蔽制作者,DISCARD即将发布的消息或PAGINATE到磁盘中。然后,您可能需要定义在需要时将由hornetq创建的分页文件的大小。