Chapter 47. 配置参数索引

本章给出了HornetQ配置参数的索引,以便查阅。点击任意一个配置参数可以转到其所属的章节。

47.1. 服务器配置

47.1.1. hornetq-configuration.xml

HornetQ主要核心服务器配置文件

Table 47.1. 服务器配置

名称类型说明默认值
backupBooleantrue表示本服务器是集群中另一个服务器的备份服务器false
backup-connector-refString用于连接备份服务器的连接器 
bindings-directoryString保存持久绑定的目录the directory to store the persisted bindings todata/bindings
clusteredBooleantrue表示服务器是集群中的节点false
connection-ttl-overrideLong表示在接收到一个ping之前连接保持有效的时间(单位毫秒)-1
create-bindings-dirBooleantrue表示服务器在启动时创建绑定的目录true
create-journal-dirBooleantrue表示创建日志目录true
file-deployment-enabledBooleantrue表示服务器从配置文件中读取配置true
id-cache-sizeInteger预先生成的消息id的缓存大小2000
journal-buffer-sizeLong日志内部缓存的大小128 KiB
journal-buffer-timeoutLongT将日志缓冲数据刷新的等待时间(纳秒)20000
journal-compact-min-filesInteger开始整理数据的最小数据文件数。10
journal-compact-percentageInteger开始压缩日志时的有效数据百分比。30
journal-directoryString日志文件所在的位置data/journal
journal-file-sizeLong每个日志文件的大小(字节)128 * 1024
journal-max-ioInteger某一时刻保存在AIO队列中的最大写请求数500
journal-min-filesInteger预先创建的日志文件数2
journal-sync-transactionalBoolean如果是true,等事务数据同步到日志后再向客户端返回true
journal-sync-non-transactionalBoolean如果是true,等非事务数据到日志后再向客户端返回true
journal-typeASYNCIO|NIO日志存取的方式ASYNCIO
jmx-management-enabledBooleantrue表示通过JMX可以使用管理接口true
jmx-domainString用于HornetQ MBean注册到MBeanServer的JMX域名org.hornetq
large-messages-directoryString存放大消息的目录data/largemessages
management-addressString管理消息发送的地址jms.queue.hornetq.management
cluster-userString集群连接的用户名HORNETQ.CLUSTER.ADMIN.USER
cluster-passwordString集群连接的用户密码CHANGE ME!!
management-notification-addressString用于接收管理通知的地址hornetq.notifications
message-counter-enabledBooleantrue表示使用消息计数器false
message-counter-max-day-historyInteger消息计数器历史保存的天数10
message-counter-sample-periodLong消息计数器取样的间隔(毫秒)10000
message-expiry-scan-periodLong过期消息扫描周期(毫秒)30000
message-expiry-thread-priorityInteger过期消息线程的优先级3
paging-directoryString分页转存消息的保存目录data/paging
persist-delivery-count-before-deliveryBooleantrue表示传递计数在传递之前保存。false表示只有当消息被取消时才保存。false
persistence-enabledBooleantrue表示服务器使用基于文件的日志做持久化true
persist-id-cacheBooleantrue表示id被保存到日志中true
scheduled-thread-pool-max-sizeInteger可计划线程池的线程数。5
security-enabledBooleantrue表示使用安全功能true
security-invalidation-intervalLong安全缓存的有效时间(毫秒)10000
thread-pool-max-sizeInteger主线程池的线程数。-1表示数量不限-1
async-connection-execution-enabledBoolean接收的数据包是否由线程池的线程来处理true
transaction-timeoutLong事务在建立后经过多长时间后可以从资源管理器(resource manager)删除(毫秒)60000
transaction-timeout-scan-periodLong扫描超时事务的间隔(毫秒)1000
wild-card-routing-enabledBooleantrue表示服务器支持通配符路由true
memory-measure-intervalLong采样JVM内存的周期(毫秒,-1表示不采样)-1
memory-warning-thresholdInteger可用内存达到这个百分比时,给出警告信息25
connectorsConnector连接器的配置 
connector.name (attribute)String连接器的名字-必需指定的参数 
connector.factory-classString连接工厂的实现类名-必需指定的参数 
connector.param连接器的配置参数一个键-值对,表示一个连接器的参数配置。一个连接器可以有多个这样的参数 
connector.param.key (属性)String参数的键 - 必需指定的参数 
connector.param.value (attribute)String参数的值 - 必需指定的参数 
acceptorsAcceptor一组接收器 
acceptor.name (属性)String接收器的名字 - 可选 
acceptor.factory-classString接收器工厂实现类名 - 必需指定的参数 
acceptor.param一个接收器的配置参数用来配置接收器的键-值对。一个接收器可以有多个参数。 
acceptor.param.key (属性)String参数的键 - 必需指定的参数 
acceptor.param.value (attribute)String参数的值 - 必需指定的参数 
broadcast-groupsBroadcastGroup一组广播组 
broadcast-group.name (attribute)String广播组的名字(必需是唯一的)- 必需指定的参数 
broadcast-group.local-bind-addressString数据报文套接字的本地绑定地址内系统内核选择的IP地址
broadcast-group.local-bind-portInteger数据报文套接字的本地绑定端口-1 (匿名端口)
broadcast-group.group-addressString广播地址 - 必需指定的参数 
broadcast-group.group-portInteger广播使用的UDP端口 - 必需指定的参数 
broadcast-group.broadcast-periodLong广播的时间间隔(毫秒)2000
broadcast-group.connector-ref一个连接器对广播的一个连接器和一个可选的备份连接器。一个广播组可以有多个这样的连接器对 
broadcast-group.connector-ref.connector-name (attribute)String主连接器名 - 必需指定的参数 
broadcast-group.connector-ref.backup-connector-name (attribute)String备份连接器名 - 可选的参数 
discovery-groupsDiscoveryGroup一组发现组 
discovery-group.name (属性)String发现组的名字(具有唯一性) - 必需指定的参数 
discovery-group.local-bind-addressString发现组所绑定的本地地址 
discovery-group.group-addressString发现组监听的广播IP地址 - 必需指定的参数 
discovery-group.group-portInteger广播组监听的UDP端口 - 必需指定的参数 
discovery-group.refresh-timeoutInteger发现组等待更新的时间。如果某个服务器上次广播到达后经过这个时间后还没有收到下次广播,那么 该服务器的连接器对将从列表中删除5000 (毫秒)
divertsDivert一组转发器 
divert.name (attribute)String转发器的名字(必需是唯一的) - 必需指定的参数 
divert.routing-nameString转发器的路由名称 - 必需指定的参数 
divert.addressString转发器的源地址 - 必需指定的参数 
divert.forwarding-addressString转发器的转发地址 - 必需指定的参数 
divert.exclusiveBoolean转发器是否是唯一的false
divert.filterString可选的核心过滤器表达式null
divert.transformer-class-nameString可选的转换器的名字 
queuesQueue一组预先配置的队列 
queues.name (属性)String队列独特的名字 
queues.addressString队列的地址 - 必需指定的参数 
queues.filterString队列可选的核心过滤器表达式null
queues.durableBoolean是否持久队列true
bridgesBridge一组桥 
bridges.name (属性)String桥的独特名字 
bridges.queue-nameString桥接收消息的源队列名 - 必需指定的参数 
bridges.forwarding-addressString桥要转发的地址。如果没有指定则使用原始的地址null
bridges.filterString可选的核心过滤器表达式null
bridges.transformer-class-nameString可选的转换器类名null
bridges.retry-intervalLong重试的时间间隔(毫秒)2000 ms
bridges.retry-interval-multiplierDouble重试间隔的递增系数1.0
bridges.reconnect-attemptsInteger最大重试次数,-1代表无限次-1
bridges.failover-on-server-shutdownBoolean如果目标服务器正常关机是否仍进行失效备援false
bridges.use-duplicate-detectionBoolean是否在转发的消息中添加重复检测的头true
bridges.discovery-group-refString桥使用的发现组名null
bridges.connector-ref.connector-name (属性)String主连接的连接器名 
bridges.connector-ref.backup-connector-name (属性)String备份连接的连接器名(可选)null
cluster-connectionsClusterConnection一组集群连接 
cluster-connections.name (attribute)String集群连接的独特名字 
cluster-connections.addressString集群连接的地址名 
cluster-connections.forward-when-no-consumersBoolean如果目标没有合适的接收者,是否仍然向它分配消息?false
cluster-connections.max-hopsInteger集群拓扑中的最大跳数(hops)1
cluster-connections.retry-intervalLong集群连接重试的间隔(毫秒)2000
cluster-connections.use-duplicate-detectionBoolean是否在转发的消息中添加重复检测的消息头true
cluster-connections.discovery-group-refString桥所使用的发现组的名字null
cluster-connections.connector-ref.connector-name (属性)String主连接的连接器名字 
cluster-connections.connector-ref.backup-connector-name (属性)String可选的备份连接所使用的连接器名字null
security-settingsSecuritySetting一组安全设置 
security-settings.match (属性)String安全所应用的地址匹配字符串 
security-settings.permission安全许可地址的一个许可 
security-settings.permission.type (attribute)许可类型许可的类型 
security-settings.permission.roles (attribute)Roles以逗号分隔的一组角色,这些角色将拥有相应的许可 
address-settingsAddressSetting一组地址设置 
address-settings.dead-letter-addressString死消息所发往的地址 
address-settings.max-delivery-attemptsInteger发往死信地址之前所尝试的传递次数10
address-settings.expiry-addressString过期消息所发往的地址 
address-settings.redelivery-delayLong重新传递一个取消的消息前所等待的时间(毫秒)0
address-settings.last-value-queueboolean队列是否是一个最新值队列false
address-settings.page-size-bytesLong一个地址的分页的大小(字节)10 * 1024 * 1024
address-settings.max-size-bytesLong地址的分页转存的最大值(字节)-1
address-settings.redistribution-delayLong队列最后一个接收者关闭后需要等待多长时间再将消息重新分配(毫秒)-1

47.1.2. hornetq-jms.xml

该文件是服务器端JMS服务所使用的,用来装载JMS队列,话题和连接工厂。

Table 47.2. JMS服务器配置

名称类型说明默认值
connection-factoryConnectionFactory一组注册到JNDI的连接工厂 
connection-factory.auto-groupBoolean是否自动使用消息组false
connection-factory.connectorsString一组供连接工厂使用的连接器 
connection-factory.connectors.connector-ref.connector-name (属性)String连接主服务器的连接器名 
connection-factory.connectors.connector-ref.backup-connector-name (attribute)String连接备份服务器的连接器名 
connection-factory.discovery-group-ref.discovery-group-name (属性)String连接工厂的发现组名 
connection-factory.discovery-initial-wait-timeoutLong发现组首次等待广播的时间10000
connection-factory.block-on-acknowledgeBoolean消息是否以同步方式通知false
connection-factory.block-on-non-durable-sendBoolean是否以同步方式发送非持久消息false
connection-factory.block-on-durable-sendBoolean是否以同步方式发送持久消息true
connection-factory.call-timeoutLong远程调用超时时间(毫秒)30000
connection-factory.client-failure-check-periodLong客户端如果在这个时间内没有收到服务器数据包,将认为连接出现故障。5000
connection-factory.client-idString连接工厂预先配置的客户IDnull
connection-factory.connection-load-balancing-policy-class-nameString负载均衡类名org.hornetq.api.core.client.loadbalance.RoundRobinConnectionLoadBalancingPolicy
connection-factory.connection-ttlLong连接的存活时间(毫秒)1 * 60000
connection-factory.consumer-max-rateInteger接收者每秒钟接收消息的最快速度-1
connection-factory.consumer-window-sizeInteger接收者流控制容器大小(字节)1024 * 1024
connection-factory.dups-ok-batch-sizeInteger在DUPS_OK_ACKNOWLEDGE模式下批量通知的大小(字节)1024 * 1024
connection-factory.failover-on-initial-connectionBoolean如果首次连接主服务器失败是否失效备援连接到备份服务器false
connection-factory.failover-on-server-shutdownBoolean在服务器停机时是否进行失效备援false
connection-factory.min-large-message-sizeInteger大消息的最小值,大小超过该值的按大消息处理100 * 1024
connection-factory.cache-large-message-clientBooleantrue表示这个连接工厂会将大消息保存在临时文件中false
connection-factory.pre-acknowledgeBoolean是否在消息发送之前提前通知false
connection-factory.producer-max-rateInteger发送消息的最大速度-1
connection-factory.producer-window-sizeInteger发送者发送消息的窗口大小1024 * 1024
connection-factory.confirmation-window-sizeInteger会话恢复的确认窗口大小(字节)1024 * 1024
connection-factory.reconnect-attemptsInteger重试的最大次数, -1 表示无限次0
connection-factory.retry-intervalLong每次重试的时间间隔(毫秒)2000
connection-factory.retry-interval-multiplierDouble重试间隔时间的递增系数1.0
connection-factory.max-retry-intervalInteger最大重试间隔。2000
connection-factory.scheduled-thread-pool-max-sizeInteger可计划线程池的大小5
connection-factory.thread-pool-max-sizeInteger线程池大小-1
connection-factory.transaction-batch-sizeInteger使用事务性会话时发送通知的批量大小(字节)1024 * 1024
connection-factory.use-global-poolsBoolean是否使用全局线程池true
queueQueue创建并注册到JNDI的队列 
queue.name (属性)String队列的唯一名字 
queue.entryString队列的JNDI的上下文(context)。一个队列可以有多个JNDI的上下文 
queue.durableBoolean是否持久队列true
queue.filterString可选的队列过滤器表达式 
topicTopic创建并注册到JNDI的话题 
topic.name (属性)String话题的唯一名 
topic.entryString话题的JNDI上下文(context)。一个话题可以有多个上下文。