property name |
default value |
Comments |
directory |
activemq-data |
the path to the directory to use to store the message store data and log files |
IndexDirectoryindexDirectory |
|
If set, configures where the KahaDB index files (db.data and db.redo) will be stored. If not set, the index files are stored in the directory specified by the 'directory' attribute.
Note |
Available as of ActiveMQ 5.10 |
|
storeOpenWireVersion |
11 |
Determines the version of OpenWire commands that are marshalled to the KahaDB journal. In versions prior to 5.12.0 this value defaulted to v6. Some features of the broker depend on information stored in the OpenWire commands from newer protocol revisions and these may not work correctly if the store version is set to a lower value. KahaDB stores from broker versions greater than 5.9.0 will in many cases still be readable by the broker but will cause the broker to continue using the older store version meaning newer features may not work as intended. For KahaDB stores that were created in versions prior to v5.9.0 it will be necessary to manually set the store version to v6 in order to start a broker without error. |
indexWriteBatchSize |
1000 |
number of indexes written in a batch |
indexCacheSize |
10000 |
number of index pages cached in memory |
enableIndexWriteAsync |
false |
if set, will asynchronously write indexes |
journalMaxFileLength |
32mb |
a hint to set the maximum size of the message data logs |
enableJournalDiskSyncs |
true |
ensure every journal write is followed by a disk sync (JMS durability requirement) |
cleanupInterval |
30000 |
time (ms) before checking for a discarding/moving message data logs that are no longer used |
checkpointInterval |
5000 |
time (ms) before checkpointing the journal |
ignoreMissingJournalfiles |
false |
If enabled, will ignore a missing message log file |
checkForCorruptJournalFiles |
false |
If enabled, will check for corrupted Journal files on startup and try and recover them |
checksumJournalFiles |
false true v5.9 |
create a checksum for a journal file - to enable checking for corrupted journals |
archiveDataLogs |
false |
If enabled, will move a message data log to the archive directory instead of deleting it. |
directoryArchive |
null |
Define the directory to move data logs to when they all the messages they contain have been consumed. |
maxAsyncJobs |
10000 |
the maximum number of asynchronous messages that will be queued awaiting storage (should be the same as the number of concurrent MessageProducers) |
concurrentStoreAndDispatchTopics |
false |
enable the dispatching of Topic messages to interested clients to happen concurrently with message storage (Warning: Enabling this property is not recommended) |
concurrentStoreAndDispatchQueues |
true |
enable the dispatching of Queue messages to interested clients to happen concurrently with message storage |
archiveCorruptedIndex |
false |
If enabled, corrupted indexes found at startup will be archived (not deleted) |
preallocationStrategy |
sparse_file |
(as of 5.12.0) This setting configures how the broker will try to preallocate the journal files when a new journal file is needed. The default allocation strategy sets the file length, but does not populate it with any data. The 'os_kernel_copy' strategy delegates the preallocation to the Operating System. The 'zeros' strategy configures ActiveMQ to do the preallocation by writing 0x00 to all of the positions in the journal file. |
preallocationScope |
entire_journal |
(as of 5.14.0) This setting configures how the broker will preallocate the journal data files. The default preallocates on first use in the appender thread. 'entire_journal_async' will use preallocate ahead of time in a separate thread. 'none' disables preallocation. On SSD, using 'entire_journal_async' avoids delaying writes pending preallocation on first use. note: on HDD the additional thread contention for disk has a negative impact, stick with the default. |