Chapter 47. Configuration Reference

This section is a quick index for looking up configuration. Click on the element name to go to the specific chapter.

47.1. Server Configuration

47.1.1. hornetq-configuration.xml

This is the main core server configuration file.

Table 47.1. Server Configuration

Element NameElement TypeDescriptionDefault
backupBooleantrue means that this server is a backup to another node in the clusterfalse
backup-connector-refStringthe name of the remoting connector to connect to the backup node 
bindings-directoryStringthe directory to store the persisted bindings todata/bindings
clusteredBooleantrue means that the server is clusteredfalse
connection-ttl-overrideLongif set, this will override how long (in ms) to keep a connection alive without receiving a ping. -1
create-bindings-dirBooleantrue means that the server will create the bindings directory on start uptrue
create-journal-dirBooleantrue means that the journal directory will be createdtrue

Continued..

file-deployment-enabledBooleantrue means that the server will load configuration from the configuration filestrue
id-cache-sizeIntegerthe size of the cache for pre creating message id's2000
journal-buffer-sizeLongThe size of the internal buffer on the journal.128 KiB
journal-buffer-timeoutLongThe timeout (in nanoseconds) used to flush internal buffers on the journal.20000
journal-compact-min-filesIntegerThe minimal number of data files before we can start compacting10
journal-compact-percentageIntegerThe percentage of live data on which we consider compacting the journal30
journal-directoryStringthe directory to store the journal files indata/journal
journal-file-sizeLongthe size (in bytes) of each journal file128 * 1024
journal-max-ioIntegerthe maximum number of write requests that can be in the AIO queue at any one time500
journal-min-filesIntegerhow many journal files to pre-create2
journal-sync-transactionalBooleanif true wait for transaction data to be synchronized to the journal before returning response to clienttrue
journal-sync-non-transactionalBooleanif true wait for non transaction data to be synced to the journal before returning response to client.true
journal-typeASYNCIO|NIOthe type of journal to useASYNCIO
jmx-management-enabledBooleantrue means that the management API is available via JMXtrue
jmx-domainStringthe JMX domain used to registered HornetQ MBeans in the MBeanServerorg.hornetq
large-messages-directoryStringthe directory to store large messagesdata/largemessages
management-addressStringthe name of the management address to send management messages tojms.queue.hornetq.management
cluster-userStringthe user used by cluster connections to communicate between the clustered nodesHORNETQ.CLUSTER.ADMIN.USER
cluster-passwordStringthe password used by cluster connections to communicate between the clustered nodesCHANGE ME!!
management-notification-addressStringthe name of the address that consumers bind to receive management notificationshornetq.notifications
message-counter-enabledBooleantrue means that message counters are enabledfalse
message-counter-max-day-historyIntegerhow many days to keep message counter history10
message-counter-sample-periodLongthe sample period (in ms) to use for message counters10000
message-expiry-scan-periodLonghow often (in ms) to scan for expired messages30000
message-expiry-thread-priorityIntegerthe priority of the thread expiring messages3
paging-directoryStringthe directory to store paged messages indata/paging
persist-delivery-count-before-deliveryBooleantrue means that the delivery count is persisted before delivery. False means that this only happens after a message has been cancelled.false
persistence-enabledBooleantrue means that the server will use the file based journal for persistence.true
persist-id-cacheBooleantrue means that id's are persisted to the journaltrue
scheduled-thread-pool-max-sizeIntegerthe number of threads that the main scheduled thread pool has.5
security-enabledBooleantrue means that security is enabledtrue
security-invalidation-intervalLonghow long (in ms) to wait before invalidating the security cache10000
thread-pool-max-sizeIntegerthe number of threads that the main thread pool has. -1 means no limit-1
async-connection-execution-enabledBooleanShould incoming packets on the server be handed off to a thread from the thread pool for processing or should they be handled on the remoting thread?true
transaction-timeoutLonghow long (in ms) before a transaction can be removed from the resource manager after create time60000
transaction-timeout-scan-periodLonghow often (in ms) to scan for timeout transactions1000
wild-card-routing-enabledBooleantrue means that the server supports wild card routingtrue
memory-measure-intervalLongfrequency to sample JVM memory in ms (or -1 to disable memory sampling)-1
memory-warning-thresholdIntegerPercentage of available memory which threshold a warning log25
connectorsConnectora list of remoting connectors configurations to create 
connector.name (attribute)StringName of the connector - mandatory 
connector.factory-classStringName of the ConnectorFactory implementation - mandatory 
connector.paramA connector configuration parameterA key-value pair used to configure the connector. A connector can have many param 
connector.param.key (attribute)StringKey of a configuration parameter - mandatory 
connector.param.value (attribute)StringValue of a configuration parameter - mandatory 
acceptorsAcceptora list of remoting acceptors to create 
acceptor.name (attribute)StringName of the acceptor - optional 
acceptor.factory-classStringName of the AcceptorFactory implementation - mandatory 
acceptor.paramAn acceptor configuration parameterA key-value pair used to configure the acceptor. An acceptor can have many param 
acceptor.param.key (attribute)StringKey of a configuration parameter - mandatory 
acceptor.param.value (attribute)StringValue of a configuration parameter - mandatory 
broadcast-groupsBroadcastGroupa list of broadcast groups to create 
broadcast-group.name (attribute)Stringa unique name for the broadcast group - mandatory 
broadcast-group.local-bind-addressStringlocal bind address that the datagram socket is bound towildcard IP address chosen by the kernel
broadcast-group.local-bind-portIntegerlocal port to which the datagram socket is bound to-1 (anonymous port)
broadcast-group.group-addressStringmulticast address to which the data will be broadcast - mandatory 
broadcast-group.group-portIntegerUDP port number used for broadcasting - mandatory 
broadcast-group.broadcast-periodLongperiod in milliseconds between consecutive broadcasts2000 (in milliseconds)
broadcast-group.connector-refA pair of connectorA pair connector and optional backup connector that will be broadcasted. A broadcast-group can have multiple connector-ref 
broadcast-group.connector-ref.connector-name (attribute)StringName of the live connector - mandatory 
broadcast-group.connector-ref.backup-connector-name (attribute)StringName of the backup connector - optional 
discovery-groupsDiscoveryGroupa list of discovery groups to create 
discovery-group.name (attribute)Stringa unique name for the discovery group - mandatory 
discovery-group.local-bind-addressStringthe discovery group will be bound only to this local address 
discovery-group.group-addressStringMulticast IP address of the group to listen on - mandatory 
discovery-group.group-portIntegerUDP port of the multicast group - mandatory 
discovery-group.refresh-timeoutIntegerPeriod the discovery group waits after receiving the last broadcast from a particular server before removing that servers connector pair entry from its list.5000 (in milliseconds)
divertsDiverta list of diverts to use 
divert.name (attribute)Stringa unique name for the divert - mandatory 
divert.routing-nameStringthe routing name for the divert - mandatory 
divert.addressStringthe address this divert will divert from - mandatory 
divert.forwarding-addressStringthe forwarding address for the divert - mandatory 
divert.exclusiveBooleanis this divert exclusive?false
divert.filterStringan optional core filter expressionnull
divert.transformer-class-nameStringan optional class name of a transformer 
queuesQueuea list of pre configured queues to create 
queues.name (attribute)Stringunique name of this queue 
queues.addressStringaddress for this queue - mandatory 
queues.filterStringoptional core filter expression for this queuenull
queues.durableBooleanis this queue durable?true
bridgesBridgea list of bridges to create 
bridges.name (attribute)Stringunique name for this bridge 
bridges.queue-nameStringname of queue that this bridge consumes from - mandatory 
bridges.forwarding-addressStringaddress to forward to. If omitted original address is usednull
bridges.filterStringoptional core filter expressionnull
bridges.transformer-class-nameStringoptional name of transformer classnull
bridges.retry-intervalLongperiod (in ms) between successive retries2000 ms
bridges.retry-interval-multiplierDoublemultiplier to apply to successive retry intervals1.0
bridges.reconnect-attemptsIntegermaximum number of retry attempts, -1 signifies infinite-1
bridges.failover-on-server-shutdownBooleanshould failover be prompted if target server is cleanly shutdown?false
bridges.use-duplicate-detectionBooleanshould duplicate detection headers be inserted in forwarded messages?true
bridges.discovery-group-refStringname of discovery group used by this bridgenull
bridges.connector-ref.connector-name (attribute)Stringname of connector to use for live connection 
bridges.connector-ref.backup-connector-name (attribute)Stringoptional name of connector to use for backup connectionnull
cluster-connectionsClusterConnectiona list of cluster connections 
cluster-connections.name (attribute)Stringunique name for this cluster connection 
cluster-connections.addressStringname of address this cluster connection applies to 
cluster-connections.forward-when-no-consumersBooleanshould messages be load balanced if there are no matching consumers on target?false
cluster-connections.max-hopsIntegermaximum number of hops cluster topology is propagated1
cluster-connections.retry-intervalLongperiod (in ms) between successive retries2000
cluster-connections.use-duplicate-detectionBooleanshould duplicate detection headers be inserted in forwarded messages?true
cluster-connections.discovery-group-refStringname of discovery group used by this bridgenull
cluster-connections.connector-ref.connector-name (attribute)Stringname of connector to use for live connection 
cluster-connections.connector-ref.backup-connector-name (attribute)Stringoptional name of connector to use for backup connectionnull
security-settingsSecuritySettinga list of security settings 
security-settings.match (attribute)Stringthe string to use for matching security against an address 
security-settings.permissionSecurity Permissiona permision to add to the address 
security-settings.permission.type (attribute)Permission Typethe type of permission 
security-settings.permission.roles (attribute)Rolesa comma-separated list of roles to apply the permission to 
address-settingsAddressSettinga list of address settings 
address-settings.dead-letter-addressStringthe address to send dead messages to 
address-settings.max-delivery-attemptsIntegerhow many times to attempt to deliver a message before sending to dead letter address10
address-settings.expiry-addressStringthe address to send expired messages to 
address-settings.redelivery-delayLongthe time (in ms) to wait before redelivering a cancelled message.0
address-settings.last-value-queuebooleanwhether to treat the queue as a last value queuefalse
address-settings.page-size-bytesLongthe page size (in bytes) to use for an address10 * 1024 * 1024
address-settings.max-size-bytesLongthe maximum size (in bytes) to use in paging for an address-1
address-settings.redistribution-delayLonghow long (in ms) to wait after the last consumer is closed on a queue before redistributing messages.-1

47.1.2. hornetq-jms.xml

This is the configuration file used by the server side JMS service to load JMS Queues, Topics and Connection Factories.

Table 47.2. JMS Server Configuration

Element NameElement TypeDescriptionDefault
connection-factoryConnectionFactorya list of connection factories to create and add to JNDI 

Continued..

connection-factory.auto-groupBooleanwhether or not message grouping is automatically usedfalse
connection-factory.connectorsStringA list of connectors used by the connection factory 
connection-factory.connectors.connector-ref.connector-name (attribute)StringName of the connector to connect to the live server 
connection-factory.connectors.connector-ref.backup-connector-name (attribute)StringName of the connector to connect to the backup server 
connection-factory.discovery-group-ref.discovery-group-name (attribute)StringName of discovery group used by this connection factory 
connection-factory.discovery-initial-wait-timeoutLongthe initial time to wait (in ms) for discovery groups to wait for broadcasts10000
connection-factory.block-on-acknowledgeBooleanwhether or not messages are acknowledged synchronouslyfalse
connection-factory.block-on-non-durable-sendBooleanwhether or not non-durable messages are sent synchronouslyfalse
connection-factory.block-on-durable-sendBooleanwhether or not durable messages are sent synchronouslytrue
connection-factory.call-timeoutLongthe timeout (in ms) for remote calls30000
connection-factory.client-failure-check-periodLongthe period (in ms) after which the client will consider the connection failed after not receiving packets from the server5000
connection-factory.client-idStringthe pre-configured client ID for the connection factorynull
connection-factory.connection-load-balancing-policy-class-nameStringthe name of the load balancing classorg.hornetq.api.core.client.loadbalance.RoundRobinConnectionLoadBalancingPolicy
connection-factory.connection-ttlLongthe time to live (in ms) for connections1 * 60000
connection-factory.consumer-max-rateIntegerthe fastest rate a consumer may consume messages per second-1
connection-factory.consumer-window-sizeIntegerthe window size (in bytes) for consumer flow control1024 * 1024
connection-factory.dups-ok-batch-sizeIntegerthe batch size (in bytes) between acknowledgements when using DUPS_OK_ACKNOWLEDGE mode1024 * 1024
connection-factory.failover-on-initial-connectionBooleanwhether or not to failover to backup on event that initial connection to live server failsfalse
connection-factory.failover-on-server-shutdownBooleanwhether or not to failover on server shutdownfalse
connection-factory.min-large-message-sizeIntegerthe size (in bytes) before a message is treated as large100 * 1024
connection-factory.cache-large-message-clientBooleanIf true clients using this connection factory will hold the large message body on temporary files.false
connection-factory.pre-acknowledgeBooleanwhether messages are pre acknowledged by the server before sendingfalse
connection-factory.producer-max-rateIntegerthe maximum rate of messages per second that can be sent-1
connection-factory.producer-window-sizeIntegerthe window size in bytes for producers sending messages1024 * 1024
connection-factory.confirmation-window-sizeIntegerthe window size (in bytes) for reattachment confirmations1024 * 1024
connection-factory.reconnect-attemptsIntegermaximum number of retry attempts, -1 signifies infinite0
connection-factory.retry-intervalLongthe time (in ms) to retry a connection after failing2000
connection-factory.retry-interval-multiplierDoublemultiplier to apply to successive retry intervals1.0
connection-factory.max-retry-intervalIntegerThe maximum retry interval in the case a retry-interval-multiplier has been specified2000
connection-factory.scheduled-thread-pool-max-sizeIntegerthe size of the scheduled thread pool5
connection-factory.thread-pool-max-sizeIntegerthe size of the thread pool-1
connection-factory.transaction-batch-sizeIntegerthe batch size (in bytes) between acknowledgements when using a transactional session1024 * 1024
connection-factory.use-global-poolsBooleanwhether or not to use a global thread pool for threadstrue
queueQueuea queue to create and add to JNDI 
queue.name (attribute)Stringunique name of the queue 
queue.entryStringcontext where the queue will be bound in JNDI (there can be many) 
queue.durableBooleanis the queue durable?true
queue.filterStringoptional filter expression for the queue 
topicTopica topic to create and add to JNDI 
topic.name (attribute)Stringunique name of the topic 
topic.entryStringcontext where the topic will be bound in JNDI (there can be many)