From c7d6050dce80e0bf716019f3271e23b5d27f5195 Mon Sep 17 00:00:00 2001 From: Andy Taylor Date: Wed, 22 Mar 2023 09:42:08 +0000 Subject: [PATCH] ARTEMIS-4213 - doc update added some Broker Properties reference and added some docs to the schema https://issues.apache.org/jira/browse/ARTEMIS-4213 --- .../schema/artemis-configuration.xsd | 217 ++++++++++--- docs/user-manual/en/configuration-index.md | 287 +++++++++++++++++- 2 files changed, 464 insertions(+), 40 deletions(-) diff --git a/artemis-server/src/main/resources/schema/artemis-configuration.xsd b/artemis-server/src/main/resources/schema/artemis-configuration.xsd index 863be22f4cef..d282b9b14ddf 100644 --- a/artemis-server/src/main/resources/schema/artemis-configuration.xsd +++ b/artemis-server/src/main/resources/schema/artemis-configuration.xsd @@ -1426,6 +1426,11 @@ + + + A list of connector references configured via connectors + + @@ -1434,6 +1439,11 @@ + + + A reference to a configured Discovery Group + + @@ -1511,6 +1521,11 @@ + + + This is the streams connection configuration + + @@ -1613,6 +1628,11 @@ + + + A list of connector references configured via connectors + + @@ -1675,18 +1695,60 @@ - - + + + + A list of queue matches to include + + + + + + A list of Queue matches to exclude + + - - - - + + + + The ref name for a transformer (see transformer config) that you may wish to configure to transform the message on federation transfer. + + + + + + + when a consumer attaches its priority is used to make the upstream consumer, but with an adjustment by default -1, + so that local consumers get load balanced first over remote, this enables this to be configurable should it be wanted/needed. + + + + + + + by default this is false, we don't federate a federated consumer, this is to avoid issue, where in symmetric + or any closed loop setup you could end up when no "real" consumers attached with messages flowing round and round endlessly. + + + + + + + The name of the policy + + + - + + + + A Queue match pattern to apply. If none are present all queues will be matched + + + @@ -1696,14 +1758,60 @@ - - - - - - - - + + + + The ref name for a transformer (see transformer config) that you may wish to configure to transform the message on federation transfer. + + + + + + + For address federation, the downstream dynamically creates a durable queue on the upstream address. + This is used to mark if the upstream queue should be deleted once downstream disconnects, + and the delay and message count params have been met. This is useful if you want to automate the clean up, + though you may wish to disable this if you want messages to queued for the downstream when disconnect no matter what. + + + + + + + The amount of time in milliseconds after the downstream broker has disconnected before the upstream queue can be eligable for auto-delete. + + + + + + + The amount number messages in the upstream queue that the message count must be equal or below before the downstream broker has disconnected before the upstream queue can be eligable for auto-delete. + + + + + + + The number of hops that a message can have made for it to be federated + + + + + + + All address-policies must have a unique name in the server. + + + + + + + Setting to true will enable divert bindings to be listened for demand. If there is a divert binding with + an address that matches the included addresses for the stream, any queue bindings that match the forward address of the divert will create demand. Default is false + + + + @@ -1712,11 +1820,16 @@ + + + Allows adding a custom transformer to amend the message + + - optional name of transformer class + the class name of the Transformer implementation @@ -1847,14 +1960,20 @@ - the time period for a cache entry to remain active + This controls how often a cache removes its entries and if they are persisted. - the policy configuration + The policy defines how to select a broker from a pool and allows key values transformation. The included policies are:\n\n + + 1. FIRST_ELEMENT to select the first target broker from the pool which is ready. It is useful to select the ready target brokers according to the priority defined with their sequence order, ie supposing there are 2 target brokers this policy selects the second target broker only when the first target broker isn't ready.\n + 2. ROUND_ROBIN to select a target sequentially from a pool, this policy is useful to evenly distribute;\n + 3. CONSISTENT_HASH to select a target by a key. This policy always selects the same target broker for the same key until it is removed from the pool.\n + 4. LEAST_CONNECTIONS to select the targets with the fewest active connections. This policy helps you maintain an equal distribution of active connections with the target brokers.\n + 5. CONSISTENT_HASH_MODULO to transform a key value to a number from 0 to N-1, it takes a single modulo property to configure the bound N. One use case is CLIENT_ID sharding across a cluster of N brokers. With a consistent hash % N transformation, each client id can map exclusively to just one of the brokers.\n @@ -2005,6 +2124,11 @@ + + + A list of connector references configured via connectors + + @@ -2030,6 +2154,16 @@ + + + An AMQP Broker Connection that supports 4 types, these are:\n + + 1. Mirrors - The broker uses an AMQP connection to another broker and duplicates messages and sends acknowledgements over the wire.\n + 2. Senders - Messages received on specific queues are transferred to another endpoint.\n + 3. Receivers - The broker pulls messages from another endpoint.\n + 4. Peers - The broker creates both senders and receivers on another endpoint that knows how to handle them. This is currently implemented by Apache Qpid Dispatch.\n + + @@ -2119,7 +2253,7 @@ - Should mirror acknowledgements towards the other server + If true then message acknowledgements will be mirrored @@ -2368,6 +2502,11 @@ + + + A list of connectors references names + + @@ -3739,15 +3878,15 @@ - - - - the maximum size (in bytes) for an address (-1 means no limits). This is used in PAGING, BLOCK and - FAIL policies. - Supports byte notation like "K", "Mb", "MiB", "GB", etc. - - - + + + + the maximum size (in bytes) for an address (-1 means no limits). This is used in PAGING, BLOCK and + FAIL policies. + Supports byte notation like "K", "Mb", "MiB", "GB", etc. + + + @@ -3785,14 +3924,14 @@ - - - - The page size (in bytes) to use for an address. - Supports byte notation like "K", "Mb", "MiB", "GB", etc. - - - + + + + The page size (in bytes) to use for an address. + Supports byte notation like "K", "Mb", "MiB", "GB", etc. + + + @@ -3851,7 +3990,7 @@ + minOccurs="0"> how many days to keep message counter history for this address @@ -4101,7 +4240,7 @@ - What to do when a queue is no longer in broker.xml. + What to do when a queue is no longer in broker.xml. OFF = will do nothing queues will remain, FORCE = delete queues even if messages remaining. @@ -4197,7 +4336,7 @@ + minOccurs="0"> purge the contents of the queue once there are no consumers diff --git a/docs/user-manual/en/configuration-index.md b/docs/user-manual/en/configuration-index.md index 296552bf5342..17feb4d3c067 100644 --- a/docs/user-manual/en/configuration-index.md +++ b/docs/user-manual/en/configuration-index.md @@ -56,7 +56,7 @@ To disable XML external entity processing use the system property `artemis.disab Certain changes in `broker.xml` can be picked up at runtime as discussed in the [Configuration Reload](config-reload.md) chapter. Changes made directly to files which are included in `broker.xml` via `xi:include` will not be automatically reloaded. For example, if `broker.xml` is including `my-address-settings.xml` and `my-address-settings.xml` is modified -those changes won't be reloaded automatically. To force a reload in this situation there are 2 main options: +those changes won't be reloaded automatically. To force a reload in this situation there are 2 main options: 1. Use the `reloadConfiguration` management operation on the `ActiveMQServerControl`. 2. Update the timestamp on `broker.xml` using something like the [touch](https://en.wikipedia.org/wiki/Touch_%28Unix%29) @@ -118,6 +118,9 @@ Enable debug logging for `org.apache.activemq.artemis.core.config.impl.Configura There are a growing number of examples of what can be explicitly configured in this way in the [unit test](https://github.com/apache/activemq-artemis/blob/065bfe14f532858f2c2a20b0afb1a226b08ce013/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImplTest.java#L675). +For an incomplete list of some of the properties that are available and have been tested see [Broker Properties Reference](#broker-properties-reference) + + ## The core configuration @@ -481,3 +484,285 @@ Name | Description | Default [password](amqp-broker-connections.md#amqp-server-connections) | Broker authentication password (optional) | n/a [reconnect-attempts](amqp-broker-connections.md#amqp-server-connections) | How many attempts should be made to reconnect after failure. | -1 (infinite) [auto-start](amqp-broker-connections.md#amqp-server-connections) | Broker connection starts automatically with broker | true + + +## Broker Properties Reference + +Name | Description | Default | XML Name +---|---|---|--- +pageMaxConcurrentIO | The max number of concurrent reads allowed on paging | 5 | page-max-concurrent-io +criticalAnalyzerCheckPeriod | The timeout here will be defaulted to half critical-analyzer-timeout, calculation happening at runtime | 0 | critical-analyzer-check-period +messageCounterSamplePeriod | the sample period (in ms) to use for message counters | 10000 | message-counter-sample-period +networkCheckNIC | The network interface card name to be used to validate the address. | n/a | network-check-nic +globalMaxSize | Size (in bytes) before all addresses will enter into their Full Policy configured upon messages being produced. Supports byte notation like "K", "Mb", "MiB", "GB", etc. | -1 | global-max-size +journalFileSize | The size (in bytes) of each journal file. Supports byte notation like "K", "Mb", "MiB", "GB", etc. | 10485760 | journal-file-size +configurationFileRefreshPeriod | how often (in ms) to check the configuration file for modifications | 5000 | configuration-file-refresh-period +diskScanPeriod | how often (in ms) to scan the disks for full disks. | 5000 | disk-scan-period +journalRetentionDirectory | the directory to store journal-retention message in and rention configuraion. | n/a | journal-retention-directory +networkCheckPeriod | A frequency in milliseconds to how often we should check if the network is still up | 10000 | network-check-period +journalBufferSize_AIO | The size (in bytes) of the internal buffer on the journal. Supports byte notation like "K", "Mb", "MiB", "GB", etc. | 501760 | journal-buffer-size +networkCheckURLList | A comma separated list of URLs to be used to validate if the broker should be kept up | n/a | network-check-URL-list +networkCheckTimeout | A timeout used in milliseconds to be used on the ping. | 1000 | network-check-timeout +pageSyncTimeout | The timeout (in nanoseconds) used to sync pages. The exact default value depend on whether the journal is ASYNCIO or NIO. | n/a | page-sync-timeout +journalPoolFiles | how many journal files to pre-create | -1 | journal-pool-files +criticalAnalyzer | should analyze response time on critical paths and decide for broker log, shutdown or halt. | true | critical-analyzer +readWholePage | Whether the whole page is read while getting message after page cache is evicted. | false | read-whole-page +maxDiskUsage | Max percentage of disk usage before the system blocks or fails clients. | 90 | max-disk-usage +globalMaxMessages | Number of messages before all addresses will enter into their Full Policy configured. It works in conjunction with global-max-size, being watever value hits its maximum first. | -1 | global-max-messages +internalNamingPrefix | Artemis uses internal queues and addresses for implementing certain behaviours. These queues and addresses will be prefixed by default with "$.activemq.internal" to avoid naming clashes with user namespacing. This can be overridden by setting this value to a valid Artemis address. | n/a | internal-naming-prefix +journalFileOpenTimeout | the length of time in seconds to wait when opening a new Journal file before timing out and failing | 5 | journal-file-open-timeout +journalCompactPercentage | The percentage of live data on which we consider compacting the journal | 30 | journal-compact-percentage +createBindingsDir | true means that the server will create the bindings directory on start up | true | create-bindings-dir +suppressSessionNotifications | Whether or not to suppress SESSION_CREATED and SESSION_CLOSED notifications. Set to true to reduce notification overhead. However, these are required to enforce unique client ID utilization in a cluster for MQTT clients. | false | suppress-session-notifications +journalBufferTimeout_AIO | The timeout (in nanoseconds) used to flush internal buffers on the journal. The exact default value depend on whether the journal is ASYNCIO or NIO. | n/a | journal-buffer-timeout +journalType | the type of journal to use | ASYNCIO | journal-type +name | Node name. If set, it will be used in topology notifications. | n/a | name +networkCheckPingCommand | The ping command used to ping IPV4 addresses. | n/a | network-check-ping-command +temporaryQueueNamespace | the namespace to use for looking up address settings for temporary queues | n/a | temporary-queue-namespace +pagingDirectory | the directory to store paged messages in | data/paging | paging-directory +journalDirectory | the directory to store the journal files in | data/journal | journal-directory +journalBufferSize_NIO | The size (in bytes) of the internal buffer on the journal. Supports byte notation like "K", "Mb", "MiB", "GB", etc. | 501760 | journal-buffer-size +journalDeviceBlockSize | The size in bytes used by the device. This is usually translated as fstat/st_blksize And this is a way to bypass the value returned as st_blksize. | n/a | journal-device-block-size +nodeManagerLockDirectory | the directory to store the node manager lock file | n/a | node-manager-lock-directory +messageCounterMaxDayHistory | how many days to keep message counter history | 10 | message-counter-max-day-history +largeMessagesDirectory | the directory to store large messages | data/largemessages | large-messages-directory +networkCheckPing6Command | The ping command used to ping IPV6 addresses. | n/a | network-check-ping6-command +memoryWarningThreshold | Percentage of available memory which will trigger a warning log | 25 | memory-warning-threshold +mqttSessionScanInterval | how often (in ms) to scan for expired MQTT sessions | 5000 | mqtt-session-scan-interval +journalMaxAtticFiles | | n/a | journal-max-attic-files +journalSyncTransactional | if true wait for transaction data to be synchronized to the journal before returning response to client | true | journal-sync-transactional +logJournalWriteRate | Whether to log messages about the journal write rate | false | log-journal-write-rate +journalMaxIO_AIO | the maximum number of write requests that can be in the AIO queue at any one time. Default is 500 for AIO and 1 for NIO. | n/a | journal-max-io +messageExpiryScanPeriod | how often (in ms) to scan for expired messages | 30000 | message-expiry-scan-period +criticalAnalyzerTimeout | The default timeout used on analyzing timeouts on the critical path. | 120000 | critical-analyzer-timeout +messageCounterEnabled | true means that message counters are enabled | false | message-counter-enabled +journalCompactMinFiles | The minimal number of data files before we can start compacting | 10 | journal-compact-min-files +createJournalDir | true means that the journal directory will be created | true | create-journal-dir +addressQueueScanPeriod | how often (in ms) to scan for addresses and queues that need to be deleted | 30000 | address-queue-scan-period +memoryMeasureInterval | frequency to sample JVM memory in ms (or -1 to disable memory sampling) | -1 | memory-measure-interval +journalSyncNonTransactional | if true wait for non transaction data to be synced to the journal before returning response to client. | true | journal-sync-non-transactional +connectionTtlCheckInterval | how often (in ms) to check connections for ttl violation | 2000 | connection-ttl-check-interval +rejectEmptyValidatedUser | true means that the server will not allow any message that doesn't have a validated user, in JMS this is JMSXUserID | false | reject-empty-validated-user +journalMaxIO_NIO | the maximum number of write requests that can be in the AIO queue at any one time. Default is 500 for AIO and 1 for NIO.Currently Broker properties only supports using an integer and measures in bytes | n/a | journal-max-io +transactionTimeoutScanPeriod | how often (in ms) to scan for timeout transactions | 1000 | transaction-timeout-scan-period +systemPropertyPrefix | This defines the prefix which we will use to parse System properties for the configuration. Default= | n/a | system-property-prefix +transactionTimeout | how long (in ms) before a transaction can be removed from the resource manager after create time | 300000 | transaction-timeout +journalLockAcquisitionTimeout | how long (in ms) to wait to acquire a file lock on the journal | -1 | journal-lock-acquisition-timeout +journalBufferTimeout_NIO | The timeout (in nanoseconds) used to flush internal buffers on the journal. The exact default value depend on whether the journal is ASYNCIO or NIO. | n/a | journal-buffer-timeout +journalMinFiles | how many journal files to pre-create | 2 | journal-min-files +**bridgeConfigurations** | | +bridgeConfigurations . ***NAME*** .retryIntervalMultiplier | multiplier to apply to successive retry intervals | 1 | retry-interval-multiplier +bridgeConfigurations . ***NAME*** .maxRetryInterval | Limit to the retry-interval growth (due to retry-interval-multiplier) | 2000 | max-retry-interval +bridgeConfigurations . ***NAME*** .filterString | | n/a | filter-string +bridgeConfigurations . ***NAME*** .connectionTTL | how long to keep a connection alive in the absence of any data arriving from the client. This should be greater than the ping period. | 60000 | connection-ttl +bridgeConfigurations . ***NAME*** .confirmationWindowSize | Once the bridge has received this many bytes, it sends a confirmation. Supports byte notation like "K", "Mb", "MiB", "GB", etc. | 1048576 | confirmation-window-size +bridgeConfigurations . ***NAME*** .staticConnectors | | n/a | static-connectors +bridgeConfigurations . ***NAME*** .reconnectAttemptsOnSameNode | | n/a | reconnect-attempts-on-same-node +bridgeConfigurations . ***NAME*** .concurrency | Number of concurrent workers, more workers can help increase throughput on high latency networks. Defaults to 1 | 1 | concurrency +bridgeConfigurations . ***NAME*** .transformerConfiguration | | n/a | transformer-configuration +bridgeConfigurations . ***NAME*** .transformerConfiguration .className | | n/a | class-name +bridgeConfigurations . ***NAME*** .transformerConfiguration .properties | A KEY/VALUE pair to set on the transformer, i.e. ...properties.MY_PROPERTY=MY_VALUE | n/a | property +bridgeConfigurations . ***NAME*** .password | password, if unspecified the cluster-password is used | n/a | password +bridgeConfigurations . ***NAME*** .queueName | name of queue that this bridge consumes from | n/a | queue-name +bridgeConfigurations . ***NAME*** .forwardingAddress | address to forward to. If omitted original address is used | n/a | forwarding-address +bridgeConfigurations . ***NAME*** .routingType | how should the routing-type on the bridged messages be set? | PASS | routing-type +bridgeConfigurations . ***NAME*** .name | unique name for this bridge | n/a | name +bridgeConfigurations . ***NAME*** .ha | whether this bridge supports fail-over | false | ha +bridgeConfigurations . ***NAME*** .initialConnectAttempts | maximum number of initial connection attempts, -1 means 'no limits' | -1 | initial-connect-attempts +bridgeConfigurations . ***NAME*** .retryInterval | period (in ms) between successive retries | 2000 | retry-interval +bridgeConfigurations . ***NAME*** .producerWindowSize | Producer flow control. Supports byte notation like "K", "Mb", "MiB", "GB", etc. | 1048576 | producer-window-size +bridgeConfigurations . ***NAME*** .clientFailureCheckPeriod | The period (in milliseconds) a bridge's client will check if it failed to receive a ping from the server. -1 disables this check. | 30000 | check-period +bridgeConfigurations . ***NAME*** .discoveryGroupName | | n/a | discovery-group-ref +bridgeConfigurations . ***NAME*** .user | username, if unspecified the cluster-user is used | n/a | user +bridgeConfigurations . ***NAME*** .useDuplicateDetection | should duplicate detection headers be inserted in forwarded messages? | true | use-duplicate-detection +bridgeConfigurations . ***NAME*** .minLargeMessageSize | Any message larger than this size (in bytes) is considered a large message (to be sent in chunks). Supports byte notation like "K", "Mb", "MiB", "GB", etc. | 102400 | min-large-message-size +**AMQPConnections** | | +AMQPConnections . ***NAME*** .reconnectAttempts | How many attempts should be made to reconnect after failure | -1 | reconnect-attempts +AMQPConnections . ***NAME*** .password | Password used to connect. If not defined it will try an anonymous connection. | n/a | password +AMQPConnections . ***NAME*** .retryInterval | period (in ms) between successive retries | 5000 | retry-interval +AMQPConnections . ***NAME*** .connectionElements | An AMQP Broker Connection that supports 4 types, these are:1. Mirrors - The broker uses an AMQP connection to another broker and duplicates messages and sends acknowledgements over the wire.2. Senders - Messages received on specific queues are transferred to another endpoint.3. Receivers - The broker pulls messages from another endpoint.4. Peers - The broker creates both senders and receivers on another endpoint that knows how to handle them. This is currently implemented by Apache Qpid Dispatch.Currently only mirror type is supported | n/a | amqp-connection +AMQPConnections . ***NAME*** .connectionElements . ***NAME*** .messageAcknowledgements | If true then message acknowledgements will be mirrored | n/a | message-acknowledgements +AMQPConnections . ***NAME*** .connectionElements . ***NAME*** .queueRemoval | Should mirror queue deletion events for addresses and queues. | n/a | queue-removal +AMQPConnections . ***NAME*** .connectionElements . ***NAME*** .addressFilter | This defines a filter that mirror will use to determine witch events will be forwarded toward target server based on source address. | n/a | address-filter +AMQPConnections . ***NAME*** .connectionElements . ***NAME*** .queueCreation | Should mirror queue creation events for addresses and queues. | n/a | queue-creation +AMQPConnections . ***NAME*** .autostart | should the broker connection be started when the server is started. | true | auto-start +AMQPConnections . ***NAME*** .user | User name used to connect. If not defined it will try an anonymous connection. | n/a | user +AMQPConnections . ***NAME*** .uri | uri of the amqp connection | n/a | uri +**divertConfiguration** | | +divertConfiguration .transformerConfiguration | | n/a | transformer-configuration +divertConfiguration .transformerConfiguration .className | | n/a | class-name +divertConfiguration .transformerConfiguration .properties | A KEY/VALUE pair to set on the transformer, i.e. ...properties.MY_PROPERTY=MY_VALUE | n/a | property +divertConfiguration .filterString | | n/a | filter-string +divertConfiguration .routingName | the routing name for the divert | n/a | routing-name +divertConfiguration .address | the address this divert will divert from | n/a | address +divertConfiguration .forwardingAddress | the forwarding address for the divert | n/a | forwarding-address +divertConfiguration .routingType | how should the routing-type on the diverted messages be set? | n/a | routing-type +divertConfiguration .exclusive | whether this is an exclusive divert | false | exclusive +**addressSettings** | | +addressSettings . ***ADDRESS*** .expiryQueuePrefix | | n/a | expiry-queue-prefix +addressSettings . ***ADDRESS*** .configDeleteDiverts | | n/a | config-delete-addresses +addressSettings . ***ADDRESS*** .defaultConsumerWindowSize | | n/a | default-consumer-window-size +addressSettings . ***ADDRESS*** .maxReadPageBytes | | n/a | max-read-page-bytes +addressSettings . ***ADDRESS*** .deadLetterQueuePrefix | | n/a | dead-letter-queue-prefix +addressSettings . ***ADDRESS*** .defaultGroupRebalancePauseDispatch | | n/a | default-group-rebalance-pause-dispatch +addressSettings . ***ADDRESS*** .autoCreateAddresses | | n/a | auto-create-addresses +addressSettings . ***ADDRESS*** .slowConsumerThreshold | | n/a | slow-consumer-threshold +addressSettings . ***ADDRESS*** .managementMessageAttributeSizeLimit | | n/a | management-message-attribute-size-limit +addressSettings . ***ADDRESS*** .autoCreateExpiryResources | | n/a | auto-create-expiry-resources +addressSettings . ***ADDRESS*** .pageSizeBytes | | n/a | page-size-bytes +addressSettings . ***ADDRESS*** .minExpiryDelay | | n/a | min-expiry-delay +addressSettings . ***ADDRESS*** .expiryQueueSuffix | | n/a | expiry-queue-suffix +addressSettings . ***ADDRESS*** .defaultConsumersBeforeDispatch | | n/a | default-consumers-before-dispatch +addressSettings . ***ADDRESS*** .configDeleteQueues | | n/a | config-delete-queues +addressSettings . ***ADDRESS*** .enableIngressTimestamp | | n/a | enable-ingress-timestamp +addressSettings . ***ADDRESS*** .expiryAddress | | n/a | expiry-address +addressSettings . ***ADDRESS*** .autoDeleteCreatedQueues | | n/a | auto-delete-created-queues +addressSettings . ***ADDRESS*** .managementBrowsePageSize | | n/a | management-browse-page-size +addressSettings . ***ADDRESS*** .autoDeleteQueues | | n/a | auto-delete-queues +addressSettings . ***ADDRESS*** .retroactiveMessageCount | | n/a | retroactive-message-count +addressSettings . ***ADDRESS*** .maxExpiryDelay | | n/a | max-expiry-delay +addressSettings . ***ADDRESS*** .maxDeliveryAttempts | | n/a | max-delivery-attempts +addressSettings . ***ADDRESS*** .defaultGroupFirstKey | | n/a | default-group-first-key +addressSettings . ***ADDRESS*** .slowConsumerCheckPeriod | | n/a | slow-consumer-check-period +addressSettings . ***ADDRESS*** .defaultPurgeOnNoConsumers | | n/a | default-purge-on-no-consumers +addressSettings . ***ADDRESS*** .defaultLastValueKey | | n/a | default-last-value-key +addressSettings . ***ADDRESS*** .autoCreateQueues | | n/a | auto-create-queues +addressSettings . ***ADDRESS*** .defaultExclusiveQueue | | n/a | default-exclusive-queue +addressSettings . ***ADDRESS*** .defaultQueueRoutingType | | n/a | default-queue-routing-type +addressSettings . ***ADDRESS*** .defaultMaxConsumers | | n/a | default-max-consumers +addressSettings . ***ADDRESS*** .messageCounterHistoryDayLimit | | n/a | message-counter-history-day-limit +addressSettings . ***ADDRESS*** .defaultGroupRebalance | | n/a | default-group-rebalance +addressSettings . ***ADDRESS*** .defaultAddressRoutingType | | n/a | default-address-routing-type +addressSettings . ***ADDRESS*** .maxSizeBytesRejectThreshold | | n/a | max-size-bytes-reject-threshold +addressSettings . ***ADDRESS*** .pageCacheMaxSize | | n/a | page-cache-max-size +addressSettings . ***ADDRESS*** .autoCreateDeadLetterResources | | n/a | auto-create-dead-letter-resources +addressSettings . ***ADDRESS*** .maxRedeliveryDelay | | n/a | max-redelivery-delay +addressSettings . ***ADDRESS*** .deadLetterAddress | | n/a | dead-letter-address +addressSettings . ***ADDRESS*** .configDeleteAddresses | | n/a | config-delete-addresses +addressSettings . ***ADDRESS*** .autoDeleteQueuesMessageCount | | n/a | auto-delete-queues-message-count +addressSettings . ***ADDRESS*** .autoDeleteAddresses | | n/a | auto-delete-addresses +addressSettings . ***ADDRESS*** .addressFullMessagePolicy | | n/a | address-full-message-policy +addressSettings . ***ADDRESS*** .maxSizeBytes | | n/a | max-size-bytes +addressSettings . ***ADDRESS*** .redistributionDelay | | n/a | redistribution-delay +addressSettings . ***ADDRESS*** .defaultDelayBeforeDispatch | | n/a | default-delay-before-dispatch +addressSettings . ***ADDRESS*** .maxSizeMessages | | n/a | max-size-messages +addressSettings . ***ADDRESS*** .redeliveryMultiplier | | n/a | redelivery-multiplier +addressSettings . ***ADDRESS*** .defaultRingSize | | n/a | default-ring-size +addressSettings . ***ADDRESS*** .defaultLastValueQueue | | n/a | default-last-value-queue +addressSettings . ***ADDRESS*** .slowConsumerPolicy | | n/a | slow-consumer-policy +addressSettings . ***ADDRESS*** .redeliveryCollisionAvoidanceFactor | | n/a | redelivery-collision-avoidance-factor +addressSettings . ***ADDRESS*** .autoDeleteQueuesDelay | | n/a | auto-delete-queues-delay +addressSettings . ***ADDRESS*** .autoDeleteAddressesDelay | | n/a | auto-delete-addresses-delay +addressSettings . ***ADDRESS*** .expiryDelay | | n/a | expiry-delay +addressSettings . ***ADDRESS*** .enableMetrics | | n/a | enable-metrics +addressSettings . ***ADDRESS*** .sendToDLAOnNoRoute | | n/a | send-to-d-l-a-on-no-route +addressSettings . ***ADDRESS*** .slowConsumerThresholdMeasurementUnit | | n/a | slow-consumer-threshold-measurement-unit +addressSettings . ***ADDRESS*** .queuePrefetch | | n/a | queue-prefetch +addressSettings . ***ADDRESS*** .redeliveryDelay | | n/a | redelivery-delay +addressSettings . ***ADDRESS*** .deadLetterQueueSuffix | | n/a | dead-letter-queue-suffix +addressSettings . ***ADDRESS*** .defaultNonDestructive | | n/a | default-non-destructive +**federationConfigurations** | | +federationConfigurations . ***NAME*** .transformerConfigurations | optional transformer configuration | n/a | transformer +federationConfigurations . ***NAME*** .transformerConfigurations . ***NAME*** .transformerConfiguration | Allows adding a custom transformer to amend the message | n/a | transformer +federationConfigurations . ***NAME*** .transformerConfigurations . ***NAME*** .transformerConfiguration . ***NAME*** .className | the class name of the Transformer implementation | n/a | class-name +federationConfigurations . ***NAME*** .transformerConfigurations . ***NAME*** .transformerConfiguration . ***NAME*** .properties | A KEY/VALUE pair to set on the transformer, i.e. ...properties.MY_PROPERTY=MY_VALUE | n/a | property +federationConfigurations . ***NAME*** .queuePolicies | | n/a | queue-policy +federationConfigurations . ***NAME*** .queuePolicies . ***NAME*** .priorityAdjustment | when a consumer attaches its priority is used to make the upstream consumer, but with an adjustment by default -1, so that local consumers get load balanced first over remote, this enables this to be configurable should it be wanted/needed. | n/a | priority-adjustment +federationConfigurations . ***NAME*** .queuePolicies . ***NAME*** .excludes | A list of Queue matches to exclude | n/a | exclude +federationConfigurations . ***NAME*** .queuePolicies . ***NAME*** .excludes . ***NAME*** .queueMatch | A Queue match pattern to apply. If none are present all queues will be matched | n/a | queue-match +federationConfigurations . ***NAME*** .queuePolicies . ***NAME*** .transformerRef | The ref name for a transformer (see transformer config) that you may wish to configure to transform the message on federation transfer. | n/a | transformer-ref +federationConfigurations . ***NAME*** .queuePolicies . ***NAME*** .includes | | n/a | queue-match +federationConfigurations . ***NAME*** .queuePolicies . ***NAME*** .excludes . ***NAME*** .queueMatch | A Queue match pattern to apply. If none are present all queues will be matched | n/a | queue-match +federationConfigurations . ***NAME*** .queuePolicies . ***NAME*** .includeFederated | by default this is false, we don't federate a federated consumer, this is to avoid issue, where in symmetric or any closed loop setup you could end up when no "real" consumers attached with messages flowing round and round endlessly. | n/a | include-federated +federationConfigurations . ***NAME*** .upstreamConfigurations | | n/a | upstream +federationConfigurations . ***NAME*** .upstreamConfigurations . ***NAME*** .connectionConfiguration | This is the streams connection configuration | n/a | connection-configuration +federationConfigurations . ***NAME*** .upstreamConfigurations . ***NAME*** .connectionConfiguration .priorityAdjustment | | n/a | priority-adjustment +federationConfigurations . ***NAME*** .upstreamConfigurations . ***NAME*** .connectionConfiguration .retryIntervalMultiplier | multiplier to apply to the retry-interval | 1 | retry-interval-multiplier +federationConfigurations . ***NAME*** .upstreamConfigurations . ***NAME*** .connectionConfiguration .shareConnection | if there is a downstream and upstream connection configured for the same broker then the same connection will be shared as long as both stream configs set this flag to true | false | share-connection +federationConfigurations . ***NAME*** .upstreamConfigurations . ***NAME*** .connectionConfiguration .maxRetryInterval | Maximum value for retry-interval | 2000 | max-retry-interval +federationConfigurations . ***NAME*** .upstreamConfigurations . ***NAME*** .connectionConfiguration .connectionTTL | | n/a | connection-t-t-l +federationConfigurations . ***NAME*** .upstreamConfigurations . ***NAME*** .connectionConfiguration .circuitBreakerTimeout | whether this connection supports fail-over | 30000 | circuit-breaker-timeout +federationConfigurations . ***NAME*** .upstreamConfigurations . ***NAME*** .connectionConfiguration .callTimeout | How long to wait for a reply | 30000 | call-timeout +federationConfigurations . ***NAME*** .upstreamConfigurations . ***NAME*** .connectionConfiguration .staticConnectors | A list of connector references configured via connectors | n/a | static-connectors +federationConfigurations . ***NAME*** .upstreamConfigurations . ***NAME*** .connectionConfiguration .reconnectAttempts | How many attempts should be made to reconnect after failure | -1 | reconnect-attempts +federationConfigurations . ***NAME*** .upstreamConfigurations . ***NAME*** .connectionConfiguration .password | password, if unspecified the federated password is used | n/a | password +federationConfigurations . ***NAME*** .upstreamConfigurations . ***NAME*** .connectionConfiguration .callFailoverTimeout | How long to wait for a reply if in the middle of a fail-over. -1 means wait forever. | -1 | call-failover-timeout +federationConfigurations . ***NAME*** .upstreamConfigurations . ***NAME*** .connectionConfiguration .hA | | n/a | h-a +federationConfigurations . ***NAME*** .upstreamConfigurations . ***NAME*** .connectionConfiguration .initialConnectAttempts | How many attempts should be made to connect initially | -1 | initial-connect-attempts +federationConfigurations . ***NAME*** .upstreamConfigurations . ***NAME*** .connectionConfiguration .retryInterval | period (in ms) between successive retries | 500 | retry-interval +federationConfigurations . ***NAME*** .upstreamConfigurations . ***NAME*** .connectionConfiguration .clientFailureCheckPeriod | | n/a | client-failure-check-period +federationConfigurations . ***NAME*** .upstreamConfigurations . ***NAME*** .connectionConfiguration .username | | n/a | username +federationConfigurations . ***NAME*** .upstreamConfigurations . ***NAME*** .policyRefs | | n/a | policy-refs +federationConfigurations . ***NAME*** .upstreamConfigurations . ***NAME*** .staticConnectors | A list of connector references configured via connectors | n/a | static-connectors +federationConfigurations . ***NAME*** .downstreamConfigurations | | n/a | downstream +federationConfigurations . ***NAME*** .downstreamConfigurations . ***NAME*** .connectionConfiguration | This is the streams connection configuration | n/a | connection-configuration +federationConfigurations . ***NAME*** .downstreamConfigurations . ***NAME*** .connectionConfiguration .priorityAdjustment | | n/a | priority-adjustment +federationConfigurations . ***NAME*** .downstreamConfigurations . ***NAME*** .connectionConfiguration .retryIntervalMultiplier | multiplier to apply to the retry-interval | 1 | retry-interval-multiplier +federationConfigurations . ***NAME*** .downstreamConfigurations . ***NAME*** .connectionConfiguration .shareConnection | if there is a downstream and upstream connection configured for the same broker then the same connection will be shared as long as both stream configs set this flag to true | false | share-connection +federationConfigurations . ***NAME*** .downstreamConfigurations . ***NAME*** .connectionConfiguration .maxRetryInterval | Maximum value for retry-interval | 2000 | max-retry-interval +federationConfigurations . ***NAME*** .downstreamConfigurations . ***NAME*** .connectionConfiguration .connectionTTL | | n/a | connection-t-t-l +federationConfigurations . ***NAME*** .downstreamConfigurations . ***NAME*** .connectionConfiguration .circuitBreakerTimeout | whether this connection supports fail-over | 30000 | circuit-breaker-timeout +federationConfigurations . ***NAME*** .downstreamConfigurations . ***NAME*** .connectionConfiguration .callTimeout | How long to wait for a reply | 30000 | call-timeout +federationConfigurations . ***NAME*** .downstreamConfigurations . ***NAME*** .connectionConfiguration .staticConnectors | A list of connector references configured via connectors | n/a | static-connectors +federationConfigurations . ***NAME*** .downstreamConfigurations . ***NAME*** .connectionConfiguration .reconnectAttempts | How many attempts should be made to reconnect after failure | -1 | reconnect-attempts +federationConfigurations . ***NAME*** .downstreamConfigurations . ***NAME*** .connectionConfiguration .password | password, if unspecified the federated password is used | n/a | password +federationConfigurations . ***NAME*** .downstreamConfigurations . ***NAME*** .connectionConfiguration .callFailoverTimeout | How long to wait for a reply if in the middle of a fail-over. -1 means wait forever. | -1 | call-failover-timeout +federationConfigurations . ***NAME*** .downstreamConfigurations . ***NAME*** .connectionConfiguration .hA | | n/a | h-a +federationConfigurations . ***NAME*** .downstreamConfigurations . ***NAME*** .connectionConfiguration .initialConnectAttempts | How many attempts should be made to connect initially | -1 | initial-connect-attempts +federationConfigurations . ***NAME*** .downstreamConfigurations . ***NAME*** .connectionConfiguration .retryInterval | period (in ms) between successive retries | 500 | retry-interval +federationConfigurations . ***NAME*** .downstreamConfigurations . ***NAME*** .connectionConfiguration .clientFailureCheckPeriod | | n/a | client-failure-check-period +federationConfigurations . ***NAME*** .downstreamConfigurations . ***NAME*** .connectionConfiguration .username | | n/a | username +federationConfigurations . ***NAME*** .downstreamConfigurations . ***NAME*** .policyRefs | | n/a | policy-refs +federationConfigurations . ***NAME*** .downstreamConfigurations . ***NAME*** .staticConnectors | A list of connector references configured via connectors | n/a | static-connectors +federationConfigurations . ***NAME*** .federationPolicys | | n/a | policy-set +federationConfigurations . ***NAME*** .addressPolicies | | n/a | address-policy +federationConfigurations . ***NAME*** .addressPolicies . ***NAME*** .autoDeleteMessageCount | The amount number messages in the upstream queue that the message count must be equal or below before the downstream broker has disconnected before the upstream queue can be eligable for auto-delete. | n/a | auto-delete-message-count +federationConfigurations . ***NAME*** .addressPolicies . ***NAME*** .enableDivertBindings | Setting to true will enable divert bindings to be listened for demand. If there is a divert binding with an address that matches the included addresses for the stream, any queue bindings that match the forward address of the divert will create demand. Default is false | n/a | enable-divert-bindings +federationConfigurations . ***NAME*** .addressPolicies . ***NAME*** .includes.{NAME}.addressMatch | | n/a | include +federationConfigurations . ***NAME*** .addressPolicies . ***NAME*** .maxHops | The number of hops that a message can have made for it to be federated | n/a | max-hops +federationConfigurations . ***NAME*** .addressPolicies . ***NAME*** .transformerRef | The ref name for a transformer (see transformer config) that you may wish to configure to transform the message on federation transfer. | n/a | transformer-ref +federationConfigurations . ***NAME*** .addressPolicies . ***NAME*** .autoDeleteDelay | The amount of time in milliseconds after the downstream broker has disconnected before the upstream queue can be eligable for auto-delete. | n/a | auto-delete-delay +federationConfigurations . ***NAME*** .addressPolicies . ***NAME*** .autoDelete | For address federation, the downstream dynamically creates a durable queue on the upstream address. This is used to mark if the upstream queue should be deleted once downstream disconnects, and the delay and message count params have been met. This is useful if you want to automate the clean up, though you may wish to disable this if you want messages to queued for the downstream when disconnect no matter what. | n/a | auto-delete +federationConfigurations . ***NAME*** .addressPolicies . ***NAME*** .excludes.{NAME}.addressMatch | | n/a | include +**clusterConfigurations** | | +clusterConfigurations . ***NAME*** .retryIntervalMultiplier | multiplier to apply to the retry-interval | 1 | retry-interval-multiplier +clusterConfigurations . ***NAME*** .maxRetryInterval | Maximum value for retry-interval | 2000 | max-retry-interval +clusterConfigurations . ***NAME*** .address | name of the address this cluster connection applies to | n/a | address +clusterConfigurations . ***NAME*** .maxHops | maximum number of hops cluster topology is propagated | 1 | max-hops +clusterConfigurations . ***NAME*** .connectionTTL | how long to keep a connection alive in the absence of any data arriving from the client | 60000 | connection-ttl +clusterConfigurations . ***NAME*** .clusterNotificationInterval | how often the cluster connection will notify the cluster of its existence right after joining the cluster | 1000 | notification-interval +clusterConfigurations . ***NAME*** .confirmationWindowSize | The size (in bytes) of the window used for confirming data from the server connected to. Supports byte notation like "K", "Mb", "MiB", "GB", etc. | 1048576 | confirmation-window-size +clusterConfigurations . ***NAME*** .callTimeout | How long to wait for a reply | 30000 | call-timeout +clusterConfigurations . ***NAME*** .staticConnectors | A list of connectors references names | n/a | static-connectors +clusterConfigurations . ***NAME*** .clusterNotificationAttempts | how many times this cluster connection will notify the cluster of its existence right after joining the cluster | 2 | notification-attempts +clusterConfigurations . ***NAME*** .allowDirectConnectionsOnly | restricts cluster connections to the listed connector-ref's | false | allow-direct-connections-only +clusterConfigurations . ***NAME*** .reconnectAttempts | How many attempts should be made to reconnect after failure | -1 | reconnect-attempts +clusterConfigurations . ***NAME*** .duplicateDetection | should duplicate detection headers be inserted in forwarded messages? | true | use-duplicate-detection +clusterConfigurations . ***NAME*** .callFailoverTimeout | How long to wait for a reply if in the middle of a fail-over. -1 means wait forever. | -1 | call-failover-timeout +clusterConfigurations . ***NAME*** .messageLoadBalancingType | | n/a | message-load-balancing-type +clusterConfigurations . ***NAME*** .initialConnectAttempts | How many attempts should be made to connect initially | -1 | initial-connect-attempts +clusterConfigurations . ***NAME*** .connectorName | Name of the connector reference to use. | n/a | connector-ref +clusterConfigurations . ***NAME*** .retryInterval | period (in ms) between successive retries | 500 | retry-interval +clusterConfigurations . ***NAME*** .producerWindowSize | Producer flow control. Supports byte notation like "K", "Mb", "MiB", "GB", etc. | 1048576 | producer-window-size +clusterConfigurations . ***NAME*** .clientFailureCheckPeriod | | n/a | client-failure-check-period +clusterConfigurations . ***NAME*** .discoveryGroupName | name of discovery group used by this cluster-connection | n/a | discovery-group-name +clusterConfigurations . ***NAME*** .minLargeMessageSize | Messages larger than this are considered large-messages. Supports byte notation like "K", "Mb", "MiB", "GB", etc. | n/a | min-large-message-size +**connectionRouters** | | +connectionRouters . ***NAME*** .cacheConfiguration | This controls how often a cache removes its entries and if they are persisted. | n/a | cache +connectionRouters . ***NAME*** .cacheConfiguration .persisted | true means that the cache entries are persisted | false | persisted +connectionRouters . ***NAME*** .cacheConfiguration .timeout | the timeout (in milliseconds) before removing cache entries | -1 | timeout +connectionRouters . ***NAME*** .keyFilter | the filter for the target key | n/a | key-filter +connectionRouters . ***NAME*** .keyType | the optional target key | n/a | key-type +connectionRouters . ***NAME*** .localTargetFilter | the filter to get the local target | n/a | local-target-filter +connectionRouters . ***NAME*** .poolConfiguration | the pool configuration | n/a | pool +connectionRouters . ***NAME*** .poolConfiguration .quorumTimeout | the timeout (in milliseconds) used to get the minimum number of ready targets | 3000 | quorum-timeout +connectionRouters . ***NAME*** .poolConfiguration .password | the password to access the targets | n/a | password +connectionRouters . ***NAME*** .poolConfiguration .localTargetEnabled | true means that the local target is enabled | false | local-target-enabled +connectionRouters . ***NAME*** .poolConfiguration .checkPeriod | the period (in milliseconds) used to check if a target is ready | 5000 | check-period +connectionRouters . ***NAME*** .poolConfiguration .quorumSize | the minimum number of ready targets | 1 | quorum-size +connectionRouters . ***NAME*** .poolConfiguration .staticConnectors | A list of connector references configured via connectors | n/a | static-connectors +connectionRouters . ***NAME*** .poolConfiguration .discoveryGroupName | name of discovery group used by this bridge | n/a | discovery-group-name +connectionRouters . ***NAME*** .poolConfiguration .clusterConnection | the name of a cluster connection | n/a | cluster-connection +connectionRouters . ***NAME*** .poolConfiguration .username | the username to access the targets | n/a | username +connectionRouters . ***NAME*** .policyConfiguration | | n/a | policy-configuration +connectionRouters . ***NAME*** ..properties.{PROPERTY} | A set of Key value pairs specific to each named property, see above description | n/a | property