Table 2.4. Config Options For Connection Behaviour
Property Name | Type | Default Value | Description |
---|---|---|---|
qpid.amqp.version | string | 0-10 | Sets the AMQP version to be used - currently supports one of {0-8,0-9,0-91,0-10}. The client will begin negotiation at the specified version and only negotiate downwards if the Broker does not support the specified version. |
qpid.heartbeat | int | When using the 0-10 protocol, the default is 120 (secs) When using protocols 0-8...0-91, the default is the broker-supplied value. | Frequency of heartbeat messages (in seconds). A value of 0 disables heartbeating. Two consective misssed heartbeats will result in the connection timing out. This can also be set per connection using the Connection URL options. For compatibility with old client configuration, the synonym |
ignore_setclientID | boolean | false | If a client ID is specified in the connection URL it's used or else an ID is generated. If an ID is specified after it's been set Qpid will throw an exception. Setting this property to 'true' will disable that check and allow you to set a client ID of your choice later on. |
Table 2.5. Config Options For Session Behaviour
Property Name | Type | Default Value | Description |
---|---|---|---|
qpid.session.command_limit | int | 65536 | Limits the # of unacked commands |
qpid.session.byte_limit | int | 1048576 | Limits the # of unacked commands in terms of bytes |
qpid.use_legacy_map_message | boolean | false | If set will use the old map message encoding. By default the Map messages are encoded using the 0-10 map encoding. This can also be set per connection using the Connection URL options. |
qpid.jms.daemon.dispatcher | boolean | false | Controls whether the Session dispatcher thread is a daemon thread or not. If this system property is set to true then the Session dispatcher threads will be created as daemon threads. This setting is introduced in version 0.16. |
Table 2.6. Config Options For Consumer Behaviour
Property Name | Type | Default Value | Description |
---|---|---|---|
max_prefetch | int | 500 | Maximum number of pre-fetched messages per consumer. This can also be defaulted for consumers created on a particular connection using the Connection URL options, or per destination (see the |
qpid.session.max_ack_delay | long | 1000 (ms) | Timer interval to flush message acks in buffer when using AUTO_ACK and DUPS_OK. When using the above ack modes, message acks are batched and sent if one of the following conditions are met (which ever happens first).
The ack timer can be disabled by setting it to 0. |
sync_ack | boolean | false | If set, each message will be acknowledged synchronously. When using AUTO_ACK mode, you need to set this to "true", in order to get the correct behaviour as described by the JMS spec. This is set to false by default for performance reasons, therefore by default AUTO_ACK behaves similar to DUPS_OK. This can also be set per connection using the Connection URL options. |
sync_client_ack | boolean | true |
If set If This can also be set per connection using the Connection URL options. |
Table 2.7. Config Options For Producer Behaviour
Property Name | Type | Default Value | Description |
---|---|---|---|
sync_publish | string | "" (disabled) | If one of {persistent|all} is set then persistent messages or all messages will be sent synchronously. This can also be set per connection using the Connection URL options. |
Table 2.8. Config Options For Threading
Property Name | Type | Default Value | Description |
---|---|---|---|
qpid.thread_factory | string | org.apache.qpid.thread.DefaultThreadFactory | Specifies the thread factory to use. If using a real time JVM, you need to set the above property to |
qpid.rt_thread_priority | int | 20 | Specifies the priority (1-99) for Real time threads created by the real time thread factory. |
Table 2.9. Config Options For I/O
Property Name | Type | Default Value | Description |
---|---|---|---|
qpid.transport | string | org.apache.qpid.transport.network.io.IoNetworkTransport | The transport implementation to be used. A user could specify an alternative transport mechanism that implements the interface |
qpid.sync_op_timeout | long | 60000 | The length of time (in milliseconds) to wait for a synchronous operation to complete. For compatibility with older clients, the synonym |
qpid.tcp_nodelay | boolean | true |
Sets the TCP_NODELAY property of the underlying socket. The default was changed to true as of Qpid 0.14. This can also be set per connection using the Connection URL options. For compatibility with older clients, the synonym |
qpid.send_buffer_size | integer | 65535 |
Sets the SO_SNDBUF property of the underlying socket. Added in Qpid 0.16. For compatibility with older clients, the synonym |
qpid.receive_buffer_size | integer | 65535 |
Sets the SO_RCVBUF property of the underlying socket. Added in Qpid 0.16. For compatibility with older clients, the synonym |
qpid.failover_method_timeout | long | 60000 |
During failover, this is the timeout for each attempt to try to re-establish the connection. If a reconnection attempt exceeds the timeout, the entire failover process is aborted. It is only applicable for AMQP 0-8/0-9/0-9-1 clients. |
Table 2.10. Config Options For Security
Property Name | Type | Default Value | Description |
---|---|---|---|
qpid.sasl_mechs | string | PLAIN | The SASL mechanism to be used. More than one could be specified as a comma separated list. We currently support the following mechanisms {PLAIN | GSSAPI | EXTERNAL}. This can also be set per connection using the Connection URL options. |
qpid.sasl_protocol | string | AMQP | When using GSSAPI as the SASL mechanism, This can also be set per connection using the Connection URL options. |
qpid.sasl_server_name | string | localhost | When using GSSAPI as the SASL mechanism, This can also be set per connection using the Connection URL options. |
Table 2.11. Config Options For Security - Standard JVM properties needed when using GSSAPI as the SASL mechanism.[a]
Property Name | Type | Default Value | Description |
---|---|---|---|
javax.security.auth.useSubjectCredsOnly | boolean | true | If set to 'false', forces the SASL GASSPI client to obtain the kerberos credentials explicitly instead of obtaining from the "subject" that owns the current thread. |
java.security.auth.login.config | string | Specifies the jass configuration file.
Here is the sample myjas.conf JASS configuration file: com.sun.security.jgss.initiate { com.sun.security.auth.module.Krb5LoginModule required useTicketCache=true; }; | |
[a] Please refer to the Java security documentation for a complete understanding of the above properties. |
Table 2.12. Config Options For Security - Using SSL for securing connections or using EXTERNAL as the SASL mechanism.
Property Name | Type | Default Value | Description |
---|---|---|---|
qpid.ssl_timeout | long | 60000 | Timeout value used by the Java SSL engine when waiting on operations. |
qpid.ssl.KeyManagerFactory.algorithm | string | - |
The key manager factory algorithm name. If not set, defaults to the value returned from the Java runtime call For compatibility with older clients, the synonym |
qpid.ssl.TrustManagerFactory.algorithm | string | - |
The trust manager factory algorithm name. If not set, defaults to the value returned from the Java runtime call For compatibility with older clients, the synonym |
Table 2.13. Config Options For Security - Standard JVM properties needed when Using SSL for securing connections or using EXTERNAL as the SASL mechanism.[a]
Property Name | Type | Default Value | Description |
---|---|---|---|
javax.net.ssl.keyStore | string | jvm default | Specifies the key store path. This can also be set per connection using the Connection URL options. |
javax.net.ssl.keyStorePassword | string | jvm default | Specifies the key store password. This can also be set per connection using the Connection URL options. |
javax.net.ssl.trustStore | string | jvm default | Specifies the trust store path. This can also be set per connection using the Connection URL options. |
javax.net.ssl.trustStorePassword | string | jvm default | Specifies the trust store password. This can also be set per connection using the Connection URL options. |
[a] Qpid allows you to have per connection key and trust stores if required. If specified per connection, the JVM arguments are ignored. |
Apache Qpid, Messaging built on AMQP; Copyright © 2015 The Apache Software Foundation; Licensed under the Apache License, Version 2.0; Apache Qpid, Qpid, Qpid Proton, Proton, Apache, the Apache feather logo, and the Apache Qpid project logo are trademarks of The Apache Software Foundation; All other marks mentioned may be trademarks or registered trademarks of their respective owners