18.5.1. About Paging
18.5.2. Page Files
18.5.3. Configuration of Paging Folder
<hornetq-server> ... <paging-directory>/location/paging-directory</paging-directory> ... </hornetq-server>The
paging-directoryparameter is used to specify a location/folder to store the page files. HornetQ creates one folder for each paging address in this paging directory. The page files are stored in these folders.
EAP_HOME/standalone/data/messagingpaging(standalone mode) and
18.5.4. Paging Mode
max-size-bytesfor an address, it means each matching address will have a maximum size that you specified. However it does not mean that the total overall size of all matching addresses is limited to
pagemode, the server may crash due to an out-of-memory error. HornetQ keeps a reference to each page file on the disk. In a situation with millions of page files, HornetQ can face memory exhaustion. To minimize this risk, it is important to set the attribute
page-size-bytesto a suitable value. You must configure the memory for your JBoss EAP 6 server higher than
(number of destinations)*(max-size-bytes), otherwise an out-of-memory error can occur.
max-size-bytes) for an address in server configuration files (
<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>The following table describes the parameters on the address settings:
Table 18.4. Paging Address Settings
This is used to specify the maximum memory size the address can have before entering nto paging mode
This is used to specify the size of each page file used on the paging system.
This value of this attribute is used for paging decisions. You can set either of these values for this attribute:
The system will keep page files up to
BLOCKrespectively. In the default configuration, all addresses are configured to page messages after an address reaches
When a message is routed to an address that has multiplte queues bound to it, there is only a single copy of the message in memory. Each queue only handles a reference to this original copy of the message. Thus the memory is freed up only when all the queues referencing the original message, have delivered the message.