このコンテンツは選択した言語では利用できません。
Chapter 5. Configuration options
This chapter lists the available configuration options for AMQ OpenWire JMS.
JMS configuration options are set as query parameters on the connection URI. For more information, see Section 4.3, “Connection URIs”.
5.1. JMS options
- jms.username
- The user name the client uses to authenticate the connection.
- jms.password
- The password the client uses to authenticate the connection.
- jms.clientID
- The client ID that the client applies to the connection.
- jms.closeTimeout
- The timeout in milliseconds for JMS close operations. The default is 15000 (15 seconds).
- jms.connectResponseTimeout
- The timeout in milliseconds for JMS connect operations. The default is 0, meaning no timeout.
- jms.sendTimeout
- The timeout in milliseconds for JMS send operations. The default is 0, meaning no timeout.
- jms.checkForDuplicates
- If enabled, ignore duplicate messages. It is enabled by default.
- jms.disableTimeStampsByDefault
- If enabled, do not timestamp messages. It is disabled by default.
- jms.useAsyncSend
- If enabled, send messages without waiting for acknowledgment. It is disabled by default.
- jms.alwaysSyncSend
- If enabled, send waits for acknowledgment in all delivery modes. It is disabled by default.
- jms.useCompression
- If enabled, compress message bodies. It is disabled by default.
- jms.useRetroactiveConsumer
- If enabled, non-durable subscribers can receive messages that were published before the subscription started. It is disabled by default.
Prefetch policy options
Prefetch policy determines how many messages each MessageConsumer
fetches from the remote peer and holds in a local "prefetch" buffer.
- jms.prefetchPolicy.queuePrefetch
- The number of messages to prefetch for queues. The default is 1000.
- jms.prefetchPolicy.queueBrowserPrefetch
- The number of messages to prefetch for queue browsers. The default is 500.
- jms.prefetchPolicy.topicPrefetch
- The number of messages to prefetch for non-durable topics. The default is 32766.
- jms.prefetchPolicy.durableTopicPrefetch
- The number of messages to prefetch for durable topics. The default is 100.
- jms.prefetchPolicy.all
- This can be used to set all prefetch values at once.
The value of prefetch can affect the distribution of messages to multiple consumers on a queue. A higher value can result in larger batches sent at once to each consumer. To achieve more even round-robin distribution when consumers operate at different rates, use a lower value.
Redelivery policy options
Redelivery policy controls how redelivered messages are handled on the client.
- jms.redeliveryPolicy.maximumRedeliveries
- The number of times redelivery is attempted before the message is sent to the dead letter queue. The default is 6. -1 means no limit.
- jms.redeliveryPolicy.redeliveryDelay
-
The time in milliseconds between redelivery attempts. This is used if
initialRedeliveryDelay
is 0. The default is 1000 (1 second). - jms.redeliveryPolicy.initialRedeliveryDelay
- The time in milliseconds before the first redelivery attempt. The default is 1000 (1 second).
- jms.redeliveryPolicy.maximumRedeliveryDelay
-
The maximum time in milliseconds between redelivery attempts. This is used if
useExponentialBackOff
is enabled. The default is 1000 (1 second). -1 means no limit. - jms.redeliveryPolicy.useExponentialBackOff
- If enabled, increase redelivery delay with each subsequent attempt. It is disabled by default.
- jms.redeliveryPolicy.backOffMultiplier
- The multiplier for increasing the redelivery delay. The default is 5.
- jms.redeliveryPolicy.useCollisionAvoidance
- If enabled, adjust the redelivery delay slightly up or down to avoid collisions. It is disabled by default.
- jms.redeliveryPolicy.collisionAvoidanceFactor
- The multiplier for adjusting the redelivery delay. The default is 0.15.
- nonBlockingRedelivery
- If enabled, allow out of order redelivery, to avoid head-of-line blocking. It is disabled by default.
5.2. TCP options
- closeAsync
- If enabled, close the socket in a separate thread. It is enabled by default.
- connectionTimeout
- The timeout in milliseconds for TCP connect operations. The default is 30000 (30 seconds). 0 means no timeout.
- dynamicManagement
- If enabled, allow JMX management of the transport logger. It is disabled by default.
- ioBufferSize
- The I/O buffer size in bytes. The default is 8192 (8 KiB).
- jmxPort
- The port for JMX management. The default is 1099.
- keepAlive
-
If enabled, use TCP keepalive. This is distinct from the keepalive mechanism based on
KeepAliveInfo
messages. It is disabled by default. - logWriterName
-
The name of the
org.apache.activemq.transport.LogWriter
implementation. Name-to-class mappings are stored in theresources/META-INF/services/org/apache/activemq/transport/logwriters
directory. The default isdefault
. - soLinger
- The socket linger option. The default is 0.
- soTimeout
- The timeout in milliseconds for socket read operations. The default is 0, meaning no timeout.
- soWriteTimeout
- The timeout in milliseconds for socket write operations. The default is 0, meaning no timeout.
- startLogging
-
If enabled, and the
trace
option is also enabled, log transport startup events. It is enabled by default. - tcpNoDelay
- If enabled, do not delay and buffer TCP sends. It is disabled by default.
- threadName
- If set, the name assigned to the transport thread. The remote address is appended to the name. It is unset by default.
- trace
-
If enabled, log transport events to
log4j.logger.org.apache.activemq.transport.TransportLogger
. It is disabled by default. - useInactivityMonitor
-
If enabled, time out connections that fail to send
KeepAliveInfo
messages. It is enabled by default. - useKeepAlive
-
If enabled, periodically send
KeepAliveInfo
messages to prevent the connection from timing out. It is enabled by default. - useLocalHost
-
If enabled, make local connections using the name
localhost
instead of the current hostname. It is disabled by default.
5.3. SSL/TLS options
- socket.keyStore
-
The path to the SSL/TLS key store. A key store is required for mutual SSL/TLS authentication. If unset, the value of the
javax.net.ssl.keyStore
system property is used. - socket.keyStorePassword
-
The password for the SSL/TLS key store. If unset, the value of the
javax.net.ssl.keyStorePassword
system property is used. - socket.keyStoreType
-
The string name of the trust store type. The default is the value of
java.security.KeyStore.getDefaultType()
. - socket.trustStore
-
The path to the SSL/TLS trust store. If unset, the value of the
javax.net.ssl.trustStore
system property is used. - socket.trustStorePassword
-
The password for the SSL/TLS trust store. If unset, the value of the
javax.net.ssl.trustStorePassword
system property is used. - socket.trustStoreType
-
The string name of the trust store type. The default is the value of
java.security.KeyStore.getDefaultType()
. - socket.enabledCipherSuites
- A comma-separated list of cipher suites to enable. If unset, the JVM default ciphers are used.
- socket.enabledProtocols
- A comma-separated list of SSL/TLS protocols to enable. If unset, the JVM default protocols are used.
5.4. OpenWire options
- wireFormat.cacheEnabled
- If enabled, avoid excessive marshalling and bandwidth consumption by caching frequently used values. It is enabled by default.
- wireFormat.cacheSize
- The number of cache entries. The cache is per connection. The default is 1024.
- wireFormat.maxInactivityDuration
- The maximum time in milliseconds before a connection with no activity is considered dead. The default is 30000 (30 seconds).
- wireFormat.maxInactivityDurationInitalDelay
-
The initial delay in milliseconds before inactivity checking begins. Note that
Inital
is misspelled. The default is 10000 (10 seconds). - wireFormat.maxFrameSize
-
The maximum frame size in bytes. The default is the value of
java.lang.Long.MAX_VALUE
. - wireFormat.sizePrefixDisabled
- If set true, do not prefix packets with their size. It is false by default.
- wireFormat.stackTraceEnabled
- If enabled, send stack traces from exceptions on the server to the client. It is enabled by default.
- wireFormat.tcpNoDelayEnabled
-
If enabled, tell the server to activate
TCP_NODELAY
. It is enabled by default. - wireFormat.tightEncodingEnabled
- If enabled, optimize for smaller encoding on the wire. This increases CPU usage. It is enabled by default.
5.5. Failover options
- maxReconnectAttempts
- The number of reconnect attempts allowed before reporting the connection as failed. The default is -1, meaning no limit. 0 disables reconnect.
- maxReconnectDelay
- The maximum time in milliseconds between the second and subsequent reconnect attempts. The default is 30000 (30 seconds).
- randomize
- If enabled, randomly select one of the failover endpoints. It is enabled by default.
- reconnectDelayExponent
- The multiplier for increasing the reconnect delay backoff. The default is 2.0.
- useExponentialBackOff
- If enabled, increase the reconnect delay with each subsequent attempt. It is enabled by default.
- timeout
- The timeout in milliseconds for send operations waiting for reconnect. The default is -1, meaning no timeout.