diff --git a/artemis-server/src/main/resources/schema/artemis-configuration.xsd b/artemis-server/src/main/resources/schema/artemis-configuration.xsd
index 9154d510fd..fdb30c7c24 100644
--- a/artemis-server/src/main/resources/schema/artemis-configuration.xsd
+++ b/artemis-server/src/main/resources/schema/artemis-configuration.xsd
@@ -436,81 +436,15 @@
-
-
-
- a list of remoting connectors configurations to create
-
-
-
-
-
-
-
-
-
+
-
-
-
- a list of remoting acceptors to create
-
-
-
-
-
-
-
-
-
+
-
-
-
- a list of broadcast groups to create
-
-
-
-
-
-
-
-
-
+
-
-
-
- a list of discovery groups to create
-
-
-
-
-
-
-
- a discovery group specification element
-
-
-
-
-
-
-
+
-
-
-
- a list of diverts to use
-
-
-
-
-
-
-
-
-
+
@@ -574,80 +508,19 @@
-
-
-
- a list of bridges to create
-
-
-
-
-
-
-
-
-
+
-
-
-
- a list of federations to create
-
-
-
-
-
-
-
-
-
+
-
-
-
- The HA policy of this server
-
-
-
+
-
-
-
- a list of cluster connections
-
-
-
+
-
-
-
- A list of connections the broker will make towards other servers.
- Currently the only connection type supported is amqpConnection
-
-
-
+
-
-
-
- A list of connection routers
-
-
-
-
-
-
-
-
-
+
-
-
-
- Message Group configuration
-
-
-
+
@@ -744,6 +617,7 @@
+
@@ -784,7 +658,6 @@
-
@@ -955,13 +828,7 @@
-
-
-
- The Store Type used by the server
-
-
-
+
@@ -1021,155 +888,9 @@
-
-
-
- a list of security settings
-
-
+
-
-
-
-
-
-
-
- a permission to add to the matched addresses
-
-
-
-
-
-
-
-
- the type of permission
-
-
-
-
-
-
- a comma-separated list of roles to apply the permission to
-
-
-
-
-
-
-
-
-
-
- pattern for matching security roles against addresses; can use wildcards
-
-
-
-
-
-
-
-
-
-
- a plugin
-
-
-
-
-
-
-
-
- the name of the setting
-
-
-
-
-
-
- the value for the setting
-
-
-
-
-
-
-
-
-
-
- the name of the plugin class to instantiate
-
-
-
-
-
-
-
-
-
-
-
-
- the name of the external role
-
-
-
-
-
-
- the comma delimited name of the internal role(s)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- a list of broker-plugins
-
-
-
-
-
-
-
-
- a broker plugin
-
-
-
-
-
-
- properties to configure a plugin
-
-
-
-
-
-
-
- the name of the broker plugin class to instantiate
-
-
-
-
-
-
-
-
-
-
+
@@ -1198,116 +919,15 @@
-
-
-
-
- metrics configuration
-
-
-
-
-
-
- whether or not to report JVM memory metrics
-
-
-
+
-
-
-
- whether or not to report JVM thread metrics
-
-
-
+
-
-
-
- whether or not to report JVM GC metrics
-
-
-
+
-
-
-
- whether or not to report Netty pool metrics
-
-
-
+
-
-
-
-
- a metrics plugin
-
-
-
-
-
-
- properties to configure a plugin
-
-
-
-
-
-
-
- the name of the metrics plugin class to instantiate
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- a list of address settings
-
-
-
-
-
-
-
-
-
-
-
-
-
- a list of resource limit settings
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -1365,13 +985,8 @@
-
-
-
- parameters to configure wildcard address matching format
-
-
-
+
+
@@ -1393,142 +1008,173 @@
-
+
+
+
+ a list of broadcast groups to create
+
+
-
-
-
- a local address to which the datagram socket is bound
-
-
-
-
-
-
- a local port to which the datagram socket is bound
-
-
-
-
-
-
- multicast address to which the data will be broadcast
-
-
-
-
-
-
-
- UDP port number used for broadcasting
-
-
-
-
-
-
-
- period in milliseconds between consecutive broadcasts
-
-
-
-
-
-
-
- Name of JGroups configuration file. If specified, the server uses JGroups for broadcasting.
-
-
-
-
-
-
-
- Name of JGroups Channel. If specified, the server uses the named channel for broadcasting.
-
-
-
-
-
+
-
-
-
-
- a unique name for the broadcast group
-
-
-
-
+
+
+
+
+
+ a local address to which the datagram socket is bound
+
+
+
+
+
+
+ a local port to which the datagram socket is bound
+
+
+
+
+
+
+ multicast address to which the data will be broadcast
+
+
+
+
+
+
+
+ UDP port number used for broadcasting
+
+
+
+
+
+
+
+ period in milliseconds between consecutive broadcasts
+
+
+
+
+
+
+
+ Name of JGroups configuration file. If specified, the server uses JGroups for broadcasting.
+
+
+
+
+
+
+
+ Name of JGroups Channel. If specified, the server uses the named channel for broadcasting.
+
+
+
+
+
+
+
+
+
+
+ a unique name for the broadcast group
+
+
+
+
+
+
+
+
+
+
+ a list of discovery groups to create
+
+
-
-
+
+
- Multicast IP address of the group to listen on
+ a discovery group specification element
-
-
-
- UDP port number of the multi cast group
-
-
-
-
-
-
-
- Name of a JGroups configuration file. If specified, the server uses JGroups for discovery.
-
-
-
-
-
-
-
- Name of a JGroups Channel. If specified, the server uses the named channel for discovery.
-
-
-
-
-
-
-
- Period the discovery group waits after receiving the last broadcast from a particular server before
- removing that servers connector pair entry from its list.
-
-
-
-
-
-
-
-
-
- time to wait for an initial broadcast to give us at least one node in the cluster
-
-
-
-
-
-
-
-
- a unique name for the discovery group
-
-
-
+
+
+
+
+
+
+ Multicast IP address of the group to listen on
+
+
+
+
+
+
+ UDP port number of the multi cast group
+
+
+
+
+
+
+
+ Name of a JGroups configuration file. If specified, the server uses JGroups for discovery.
+
+
+
+
+
+
+
+ Name of a JGroups Channel. If specified, the server uses the named channel for discovery.
+
+
+
+
+
+
+
+ Period the discovery group waits after receiving the last broadcast from a particular server before
+ removing that servers connector pair entry from its list.
+
+
+
+
+
+
+
+
+
+ time to wait for an initial broadcast to give us at least one node in the cluster
+
+
+
+
+
+
+
+
+ a unique name for the discovery group
+
+
+
+
+
+
@@ -1573,6 +1219,20 @@
+
+
+
+ a list of bridges to create
+
+
+
+
+
+
+
+
+
+
@@ -1798,6 +1458,20 @@
+
+
+
+ a list of federations to create
+
+
+
+
+
+
+
+
+
+
@@ -1986,7 +1660,6 @@
-
@@ -1995,13 +1668,11 @@
-
-
@@ -2020,7 +1691,6 @@
-
@@ -2103,26 +1773,53 @@
-
+
+
+
+ a list of cluster connections
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+ A list of connections the broker will make towards other servers.
+ Currently the only connection type supported is amqpConnection
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+ A list of connection routers
+
+
+
+
+
+
+
+
+
@@ -2410,6 +2107,7 @@
+
@@ -2715,7 +2413,6 @@
-
@@ -2734,7 +2431,21 @@
-
+
+
+
+
+ a list of diverts to use
+
+
+
+
+
+
+
+
+
+
@@ -2806,6 +2517,15 @@
+
+
+
+
+ The Store Type used by the server
+
+
+
+
@@ -2979,32 +2699,40 @@
-
-
-
-
-
- A live only server with no HA capabilities apart from scale down.
-
-
-
-
-
-
- Configuration for a replicated server, either master, slave or colocated.
-
-
-
-
-
-
- Configuration for a shared store server, either master, slave or colocated.
-
-
-
-
-
-
+
+
+
+
+ The HA policy of this server
+
+
+
+
+
+
+
+ A live only server with no HA capabilities apart from scale down.
+
+
+
+
+
+
+ Configuration for a replicated server, either master, slave or colocated.
+
+
+
+
+
+
+ Configuration for a shared store server, either master, slave or colocated.
+
+
+
+
+
+
+
@@ -3077,7 +2805,6 @@
-
@@ -3241,6 +2968,7 @@
+
@@ -3302,7 +3030,6 @@
-
@@ -3335,6 +3062,7 @@
+
@@ -3452,6 +3180,7 @@
+
@@ -3515,6 +3244,7 @@
+
@@ -3580,6 +3310,7 @@
+
@@ -3625,6 +3356,7 @@
+
@@ -3651,6 +3383,7 @@
+
@@ -3694,6 +3427,7 @@
+
@@ -3734,6 +3468,7 @@
+
@@ -3786,6 +3521,14 @@
+
+
+
+ Message Group configuration
+
+
+
+
@@ -3843,144 +3586,158 @@
-
+
+
+
+
+ a list of address settings
+
+
-
-
- Complex type element to configure an address.
-
-
-
-
-
-
- the address to send dead messages to
-
-
-
+
+
+
+
+
+
-
-
-
- whether or not to automatically create the dead-letter-address and/or a corresponding queue
- on that address when a message found to be undeliverable
-
-
-
+
+
+
+ Complex type element to configure an address.
+
+
+
+
+
+
+ the address to send dead messages to
+
+
+
-
-
-
- the prefix to use for auto-created dead letter queues
-
-
-
+
+
+
+ whether or not to automatically create the dead-letter-address and/or a corresponding queue
+ on that address when a message found to be undeliverable
+
+
+
-
-
-
- the suffix to use for auto-created dead letter queues
-
-
-
+
+
+
+ the prefix to use for auto-created dead letter queues
+
+
+
-
-
-
- the address to send expired messages to
-
-
-
+
+
+
+ the suffix to use for auto-created dead letter queues
+
+
+
-
-
-
- whether or not to automatically create the expiry-address and/or a corresponding queue
- on that address when a message is sent to a matching queue
-
-
-
+
+
+
+ the address to send expired messages to
+
+
+
-
-
-
- the prefix to use for auto-created expiry queues
-
-
-
+
+
+
+ whether or not to automatically create the expiry-address and/or a corresponding queue
+ on that address when a message is sent to a matching queue
+
+
+
-
-
-
- the suffix to use for auto-created expiry queues
-
-
-
+
+
+
+ the prefix to use for auto-created expiry queues
+
+
+
-
-
-
- Overrides the expiration time for messages using the default value for expiration time. "-1"
- disables this setting.
-
-
-
+
+
+
+ the suffix to use for auto-created expiry queues
+
+
+
-
-
-
- Overrides the expiration time for messages using a lower value. "-1" disables this setting.
-
-
-
+
+
+
+ Overrides the expiration time for messages using the default value for expiration time. "-1"
+ disables this setting.
+
+
+
-
-
-
- Overrides the expiration time for messages using a higher value. "-1" disables this setting.
-
-
-
+
+
+
+ Overrides the expiration time for messages using a lower value. "-1" disables this setting.
+
+
+
-
-
-
- the time (in ms) to wait before redelivering a cancelled message.
-
-
-
+
+
+
+ Overrides the expiration time for messages using a higher value. "-1" disables this setting.
+
+
+
-
-
-
- multiplier to apply to the "redelivery-delay"
-
-
-
+
+
+
+ the time (in ms) to wait before redelivering a cancelled message.
+
+
+
-
-
-
- factor by which to modify the redelivery delay slightly to avoid collisions
-
-
-
+
+
+
+ multiplier to apply to the "redelivery-delay"
+
+
+
-
-
-
- Maximum value for the redelivery-delay
-
-
-
+
+
+
+ factor by which to modify the redelivery delay slightly to avoid collisions
+
+
+
-
-
-
- how many times to attempt to deliver a message before sending to dead letter address
-
-
-
+
+
+
+ Maximum value for the redelivery-delay
+
+
+
+
+
+
+
+ how many times to attempt to deliver a message before sending to dead letter address
+
+
+
@@ -3992,24 +3749,24 @@
-
-
-
- the maximum number of messages allowed on the address. This is used in PAGING, BLOCK and FAIL policies. It does not support notations and it is a simple number of messages allowed.
-
-
-
+
+
+
+ the maximum number of messages allowed on the address. This is used in PAGING, BLOCK and FAIL policies. It does not support notations and it is a simple number of messages allowed.
+
+
+
-
-
-
- used with the address full BLOCK policy, the maximum size (in bytes) an address can reach before
- messages start getting rejected. Works in combination with max-size-bytes for AMQP protocol only.
- Default = -1 (no limit).
-
-
-
+
+
+
+ used with the address full BLOCK policy, the maximum size (in bytes) an address can reach before
+ messages start getting rejected. Works in combination with max-size-bytes for AMQP protocol only.
+ Default = -1 (no limit).
+
+
+
@@ -4020,501 +3777,513 @@
-
-
-
- Number of paging files to cache in memory to avoid IO during paging navigation
-
-
-
-
-
-
-
- How many messages are we allowed to read from page into the Queue each time. We should read more data from pages as messages are acknowledged until it fills up the size.
- Between this and max-read-page-bytes the system will stop reading based on whatever hits the mark first.
-
-
-
-
-
-
-
- How many bytes are we allowed to read from page into the Queue each time. We should read more data from pages as messages are acknowledged until it fills up the size.
- Between this and max-read-page-messages the system will stop reading based on whatever hits the mark first.
-
-
-
-
-
-
-
- what happens when an address where "max-size-bytes" is specified becomes full
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- how many days to keep message counter history for this address
-
-
-
-
-
-
-
- This is deprecated please use default-last-value-queue instead.
-
-
-
-
-
-
-
- whether to treat the queues under the address as a last value queues by default
-
-
-
-
-
-
-
- the property to use as the key for a last value queue by default
-
-
-
-
-
-
-
- whether the queue should be non-destructive by default
-
-
-
-
-
-
-
- whether to treat the queues under the address as exclusive queues by default
-
-
-
-
-
-
-
- whether to rebalance groups when a consumer is added
-
-
-
-
-
-
-
- whether to pause dispatch when rebalancing groups
-
-
-
-
-
-
-
- number of buckets to use for grouping, -1 (default) is unlimited and uses the raw group, 0 disables message groups.
-
-
-
-
-
-
-
- key used to mark a message is first in a group for a consumer
-
-
-
-
-
-
-
- the default number of consumers needed before dispatch can start for queues under the address.
-
-
-
-
-
-
-
- the default delay (in milliseconds) to wait before dispatching if number of consumers before
- dispatch is not met for queues under the address.
-
-
-
-
-
-
-
- how long (in ms) to wait after the last consumer is closed on a queue before redistributing
- messages.
-
-
-
-
-
-
-
- if there are no queues matching this address, whether to forward message to DLA (if it exists for
- this address)
-
-
-
-
-
-
-
- The minimum rate of message consumption allowed before a consumer is considered "slow." Measurement
- unit is defined by the slow-consumer-threshold-measurement-unit parameter. By default this is
- messages-per-seconds
-
-
-
-
-
-
-
- The units used to measure the slow consumer threshold. Default is messages-per-second.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- what happens when a slow consumer is identified
-
-
-
-
-
-
-
-
-
-
-
-
-
- How often to check for slow consumers on a particular queue. Measured in seconds.
-
-
-
-
-
-
-
- DEPRECATED: whether or not to automatically create JMS queues when a producer sends or a consumer connects to a
- queue
-
-
-
-
-
-
-
- DEPRECATED: whether or not to delete auto-created JMS queues when the queue has 0 consumers and 0 messages
-
-
-
-
-
-
-
- DEPRECATED: whether or not to automatically create JMS topics when a producer sends or a consumer subscribes to
- a topic
-
-
-
-
-
-
-
- DEPRECATED: whether or not to delete auto-created JMS topics when the last subscription is closed
-
-
-
-
-
-
-
- whether or not to automatically create a queue when a client sends a message to or attempts to consume
- a message from a queue
-
-
-
-
-
-
-
- whether or not to delete auto-created queues when the queue has 0 consumers and 0 messages
-
-
-
-
-
-
-
- whether or not to delete created queues when the queue has 0 consumers and 0 messages
-
-
-
-
-
-
-
- how long to wait (in milliseconds) before deleting auto-created queues after the queue has 0
- consumers.
-
-
-
-
-
-
-
- the message count the queue must be at or below before it can be evaluated to be auto deleted, 0 waits until empty queue (default) and -1 disables this check.
-
-
-
-
-
-
-
- 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.
-
-
-
-
-
-
-
-
-
-
-
-
-
- whether or not to automatically create addresses when a client sends a message to or attempts to
- consume a message from a queue mapped to an address that doesn't exist
-
-
-
-
-
-
-
- whether or not to delete auto-created addresses when it no longer has any queues
-
-
-
-
-
-
-
- how long to wait (in milliseconds) before deleting auto-created addresses after they no longer
- have any queues
-
-
-
-
-
-
-
- What to do when an address is no longer in broker.xml.
- OFF = will do nothing addresses will remain,
- FORCE = delete address and its queues even if messages remaining.
-
-
-
-
-
-
-
-
-
-
-
-
-
- What to do when a divert is no longer in broker.xml.
- OFF = will do nothing queues will remain,
- FORCE = delete queues even if messages remaining.
-
-
-
-
-
-
-
-
-
-
-
-
-
- how many message a management resource can browse, list or filter
-
-
-
-
-
-
-
- the size limit of any message attribute value returned from a browse ,list or filter. Attribute values that exceed with be truncated
-
-
-
-
-
-
-
- purge the contents of the queue once there are no consumers
-
-
-
-
-
-
-
- the maximum number of consumers allowed on this queue at any one time
-
-
-
-
-
-
-
- the routing-type used on auto-created queues
-
-
-
-
-
-
-
- the routing-type used on auto-created addresses
-
-
-
-
-
-
-
- the default window size for a consumer
-
-
-
-
-
-
-
- the default ring-size value for any matching queue which doesn't have `ring-size` explicitly
- defined
-
-
-
-
-
-
-
- the number of messages to preserve for future queues created on the matching address
-
-
-
-
-
-
-
- whether or not to enable metrics for metrics plugins on the matching address
-
-
-
-
-
-
-
- whether or not the broker should set its own timestamp on incoming messages to the matching address
-
-
-
-
-
-
-
+
- pattern for matching settings against addresses; can use wildards
+ Number of paging files to cache in memory to avoid IO during paging navigation
-
-
-
-
+
-
-
+
+
+
+ How many messages are we allowed to read from page into the Queue each time. We should read more data from pages as messages are acknowledged until it fills up the size.
+ Between this and max-read-page-bytes the system will stop reading based on whatever hits the mark first.
+
+
+
+
+
+
+
+ How many bytes are we allowed to read from page into the Queue each time. We should read more data from pages as messages are acknowledged until it fills up the size.
+ Between this and max-read-page-messages the system will stop reading based on whatever hits the mark first.
+
+
+
+
+
+
+
+ what happens when an address where "max-size-bytes" is specified becomes full
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ how many days to keep message counter history for this address
+
+
+
+
+
+
+
+ This is deprecated please use default-last-value-queue instead.
+
+
+
+
+
+
+
+ whether to treat the queues under the address as a last value queues by default
+
+
+
+
+
+
+
+ the property to use as the key for a last value queue by default
+
+
+
+
+
+
+
+ whether the queue should be non-destructive by default
+
+
+
+
+
+
+
+ whether to treat the queues under the address as exclusive queues by default
+
+
+
+
+
+
+
+ whether to rebalance groups when a consumer is added
+
+
+
+
+
+
+
+ whether to pause dispatch when rebalancing groups
+
+
+
+
+
+
+
+ number of buckets to use for grouping, -1 (default) is unlimited and uses the raw group, 0 disables message groups.
+
+
+
+
+
+
+
+ key used to mark a message is first in a group for a consumer
+
+
+
+
+
+
+
+ the default number of consumers needed before dispatch can start for queues under the address.
+
+
+
+
+
+
+
+ the default delay (in milliseconds) to wait before dispatching if number of consumers before
+ dispatch is not met for queues under the address.
+
+
+
+
+
+
+
+ how long (in ms) to wait after the last consumer is closed on a queue before redistributing
+ messages.
+
+
+
+
+
+
+
+ if there are no queues matching this address, whether to forward message to DLA (if it exists for
+ this address)
+
+
+
+
+
+
+
+ The minimum rate of message consumption allowed before a consumer is considered "slow." Measurement
+ unit is defined by the slow-consumer-threshold-measurement-unit parameter. By default this is
+ messages-per-seconds
+
+
+
+
+
+
+
+ The units used to measure the slow consumer threshold. Default is messages-per-second.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ what happens when a slow consumer is identified
+
+
+
+
+
+
+
+
+
+
+
+
+
+ How often to check for slow consumers on a particular queue. Measured in seconds.
+
+
+
+
+
+
+
+ DEPRECATED: whether or not to automatically create JMS queues when a producer sends or a consumer connects to a
+ queue
+
+
+
+
+
+
+
+ DEPRECATED: whether or not to delete auto-created JMS queues when the queue has 0 consumers and 0 messages
+
+
+
+
+
+
+
+ DEPRECATED: whether or not to automatically create JMS topics when a producer sends or a consumer subscribes to
+ a topic
+
+
+
+
+
+
+
+ DEPRECATED: whether or not to delete auto-created JMS topics when the last subscription is closed
+
+
+
+
+
+
+
+ whether or not to automatically create a queue when a client sends a message to or attempts to consume
+ a message from a queue
+
+
+
+
+
+
+
+ whether or not to delete auto-created queues when the queue has 0 consumers and 0 messages
+
+
+
+
+
+
+
+ whether or not to delete created queues when the queue has 0 consumers and 0 messages
+
+
+
+
+
+
+
+ how long to wait (in milliseconds) before deleting auto-created queues after the queue has 0
+ consumers.
+
+
+
+
+
+
+
+ the message count the queue must be at or below before it can be evaluated to be auto deleted, 0 waits until empty queue (default) and -1 disables this check.
+
+
+
+
+
+
+
+ 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.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ whether or not to automatically create addresses when a client sends a message to or attempts to
+ consume a message from a queue mapped to an address that doesn't exist
+
+
+
+
+
+
+
+ whether or not to delete auto-created addresses when it no longer has any queues
+
+
+
+
+
+
+
+ how long to wait (in milliseconds) before deleting auto-created addresses after they no longer
+ have any queues
+
+
+
+
+
+
+
+ What to do when an address is no longer in broker.xml.
+ OFF = will do nothing addresses will remain,
+ FORCE = delete address and its queues even if messages remaining.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ What to do when a divert is no longer in broker.xml.
+ OFF = will do nothing queues will remain,
+ FORCE = delete queues even if messages remaining.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ how many message a management resource can browse, list or filter
+
+
+
+
+
+
+
+ the size limit of any message attribute value returned from a browse ,list or filter. Attribute values that exceed with be truncated
+
+
+
+
+
+
+
+ purge the contents of the queue once there are no consumers
+
+
+
+
+
+
+
+ the maximum number of consumers allowed on this queue at any one time
+
+
+
+
+
+
+
+ the routing-type used on auto-created queues
+
+
+
+
+
+
+
+ the routing-type used on auto-created addresses
+
+
+
+
+
+
+
+ the default window size for a consumer
+
+
+
+
+
+
+
+ the default ring-size value for any matching queue which doesn't have `ring-size` explicitly
+ defined
+
+
+
+
+
+
+
+ the number of messages to preserve for future queues created on the matching address
+
+
+
+
+
+
+
+ whether or not to enable metrics for metrics plugins on the matching address
+
+
+
+
+
+
+
+ whether or not the broker should set its own timestamp on incoming messages to the matching address
+
+
+
+
+
+
+
- Complex type element to configure resource limits for a particular user.
+ pattern for matching settings against addresses; can use wildards
-
-
-
-
- how many connections are allowed by the matched user (-1 means no limit, default is -1)
-
-
-
+
+
+
-
-
-
- how many queues can be created by the matched user (-1 means no limit, default is -1)
-
-
-
-
-
-
-
-
- the name of the user to whom the limits should be applied
-
-
-
+
+
+
+
+ a list of resource limit settings
+
+
+
+
+
+
+
+
+
+ Complex type element to configure resource limits for a particular user.
+
+
+
+
+
+
+ how many connections are allowed by the matched user (-1 means no limit, default is -1)
+
+
+
+
+
+
+
+ how many queues can be created by the matched user (-1 means no limit, default is -1)
+
+
+
+
+
+
+
+
+ the name of the user to whom the limits should be applied
+
+
+
+
+
+
@@ -4533,6 +4302,20 @@
+
+
+
+ a list of connector services
+
+
+
+
+
+
+
+
+
+
@@ -4564,7 +4347,6 @@
-
@@ -4644,57 +4426,324 @@
-
-
-
-
-
-
-
-
+
+
- Complex type element to configure wildcard address format.
+ a list of remoting connectors configurations to create
-
-
-
-
- deprecated please use routing-enabled.
-
-
-
-
-
-
- is wildcard addresses routing enabled.
-
-
-
-
-
-
- wildcard address parts delimiter. Default '.'
-
-
-
-
-
-
- wildcard address any words character. Default '#'
-
-
-
-
-
-
- wildcard address single word character. Default '*'
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ a list of remoting acceptors to create
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a list of security settings
+
+
+
+
+
+
+
+
+
+ a permission to add to the matched addresses
+
+
+
+
+
+
+
+
+ the type of permission
+
+
+
+
+
+
+ a comma-separated list of roles to apply the permission to
+
+
+
+
+
+
+
+
+
+
+ pattern for matching security roles against addresses; can use wildcards
+
+
+
+
+
+
+
+
+
+
+ a plugin
+
+
+
+
+
+
+
+
+ the name of the setting
+
+
+
+
+
+
+ the value for the setting
+
+
+
+
+
+
+
+
+
+
+ the name of the plugin class to instantiate
+
+
+
+
+
+
+
+
+
+
+
+
+ the name of the external role
+
+
+
+
+
+
+ the comma delimited name of the internal role(s)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a list of broker-plugins
+
+
+
+
+
+
+
+
+ a broker plugin
+
+
+
+
+
+
+ properties to configure a plugin
+
+
+
+
+
+
+
+ the name of the broker plugin class to instantiate
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ metrics configuration
+
+
+
+
+
+
+
+ whether or not to report JVM memory metrics
+
+
+
+
+
+
+
+ whether or not to report JVM thread metrics
+
+
+
+
+
+
+
+ whether or not to report JVM GC metrics
+
+
+
+
+
+
+
+ whether or not to report Netty pool metrics
+
+
+
+
+
+
+
+
+ a metrics plugin
+
+
+
+
+
+
+ properties to configure a plugin
+
+
+
+
+
+
+
+ the name of the metrics plugin class to instantiate
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a list of addresses
+
+
+
+
+
+
+
+
+
+
+
+
+
+ parameters to configure wildcard address matching format
+
+
+
+
+
+ Complex type element to configure wildcard address format.
+
+
+
+
+
+
+ deprecated please use routing-enabled.
+
+
+
+
+
+
+ is wildcard addresses routing enabled.
+
+
+
+
+
+
+ wildcard address parts delimiter. Default '.'
+
+
+
+
+
+
+ wildcard address any words character. Default '#'
+
+
+
+
+
+
+ wildcard address single word character. Default '*'
+
+
+
+
+
+
+
diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/FileXIncludeSchemaConfigurationTest.java b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/FileXIncludeSchemaConfigurationTest.java
new file mode 100644
index 0000000000..87b9de6488
--- /dev/null
+++ b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/FileXIncludeSchemaConfigurationTest.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.artemis.core.config.impl;
+
+import org.apache.activemq.artemis.core.server.plugin.ActiveMQServerBasePlugin;
+import org.junit.AfterClass;
+import org.junit.Assume;
+import org.junit.BeforeClass;
+
+public class FileXIncludeSchemaConfigurationTest extends FileConfigurationTest {
+
+ public FileXIncludeSchemaConfigurationTest(boolean xxeEnabled) {
+ super(xxeEnabled);
+ Assume.assumeTrue(xxeEnabled);
+ }
+
+ @BeforeClass
+ public static void setupProperties() {
+ System.setProperty("xincludePath", "./src/test/resources");
+ System.setProperty("a2Prop", "a2");
+ System.setProperty("falseProp", "false");
+ System.setProperty("trueProp", "true");
+ System.setProperty("ninetyTwoProp", "92");
+ }
+
+ @AfterClass
+ public static void clearProperties() {
+ System.clearProperty("xincludePath");
+ System.clearProperty("a2Prop");
+ System.clearProperty("falseProp");
+ System.clearProperty("trueProp");
+ System.clearProperty("ninetyTwoProp");
+ }
+
+ @Override
+ public void testSerialize() throws Exception {
+ // ConfigurationImplTest#testSerialize() assumes the one plugin it registers is the only one in the configuration.
+
+ // Check the expected 2 from the include file are present
+ assertEquals("included broker plugins are not present", 2, conf.getBrokerPlugins().size());
+
+ // Clear the list
+ for (ActiveMQServerBasePlugin plugin : conf.getBrokerPlugins()) {
+ conf.unRegisterBrokerPlugin(plugin);
+ }
+
+ // Allow the test to proceed
+ super.testSerialize();
+ }
+
+ @Override
+ protected String getConfigurationName() {
+ return "ConfigurationTest-xinclude-schema-config.xml";
+ }
+}
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-acceptors.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-acceptors.xml
new file mode 100644
index 0000000000..9ebad5712f
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-acceptors.xml
@@ -0,0 +1,20 @@
+
+
+ tcp://0.0.0.0:61616?tcpNoDelay=456;connectionTtl=44;connectionsAllowed=${ninetyTwoProp}
+ vm://0?e1=z1;e2=567;connectionsAllowed=87
+
\ No newline at end of file
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-address-settings.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-address-settings.xml
new file mode 100644
index 0000000000..445c1842f6
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-address-settings.xml
@@ -0,0 +1,85 @@
+
+
+
+ a1.1
+ a1.2
+ 1
+ 2
+ 3
+ 1
+ 0.5
+ 817M
+ 817381738
+ 10
+ 4
+ 10
+ 5
+ NOTIFY
+ MESSAGES_PER_HOUR
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ false
+ 5
+ ANYCAST
+ MULTICAST
+ 3
+ true
+
+
+ a2.1
+ true
+
+ .DLQ
+ a2.2
+ true
+
+ .EXP
+ 5
+ 932489234928324
+ 712671626
+ 20
+ 8
+ 20
+ 15
+ KILL
+ MESSAGES_PER_DAY
+ false
+ false
+ false
+ false
+ false
+ false
+ 500
+ false
+ false
+ 1000
+ true
+ 15
+ MULTICAST
+ ANYCAST
+ 10000
+ 10
+ false
+
+
\ No newline at end of file
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-addresses.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-addresses.xml
new file mode 100644
index 0000000000..d9efe75ff2
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-addresses.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+ ${falseProp}
+
+
+
+ ${trueProp}
+
+
+
+
+
+
+
+
+
+
+ ${trueProp}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-bridges.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-bridges.xml
new file mode 100644
index 0000000000..289716712a
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-bridges.xml
@@ -0,0 +1,65 @@
+
+
+
+ queue1
+ bridge-forwarding-address1
+
+ org.foo.BridgeTransformer
+ 4M
+ 31
+ 370
+ 3
+ 0.2
+ 10002
+ 2
+ false
+ true
+ 1G
+ 444
+ STRIP
+
+ connector1
+
+
+
+ queue2
+ bridge-forwarding-address2
+ 555k
+
+
+
+ queue3
+ bridge-forwarding-address2
+
+ org.foo.BridgeTransformer3
+
+
+
+ 555k
+
+
+
+ queue3
+ bridge-forwarding-address2
+ -1
+ -1
+
+ connector1
+
+
+
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-broadcast-groups.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-broadcast-groups.xml
new file mode 100644
index 0000000000..f542e343ee
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-broadcast-groups.xml
@@ -0,0 +1,32 @@
+
+
+
+ 10999
+ 192.168.0.120
+ 11999
+ 12345
+ connector1
+
+
+ 12999
+ 192.168.0.121
+ 13999
+ 23456
+ connector2
+
+
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-broker-connections.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-broker-connections.xml
new file mode 100644
index 0000000000..81212f62dc
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-broker-connections.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-broker-plugins.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-broker-plugins.xml
new file mode 100644
index 0000000000..eca4cc16dd
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-broker-plugins.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-cluster-connections.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-cluster-connections.xml
new file mode 100644
index 0000000000..ed29c619a9
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-cluster-connections.xml
@@ -0,0 +1,55 @@
+
+
+
+ queues1
+ connector1
+ 331
+ 3370
+ 321
+ 123
+ 3
+ 0.25
+ 10000
+ 72
+ true
+ ON_DEMAND
+ 1
+ 222
+ 123
+
+ connector1
+ connector2
+
+
+
+ queues2
+ connector2
+ 456
+ 4
+ false
+ STRICT
+ 2
+ 333
+ 456
+
+
+
+ connector2
+ OFF_WITH_REDISTRIBUTION
+
+
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-connection-routers.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-connection-routers.xml
new file mode 100644
index 0000000000..ad694ebeba
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-connection-routers.xml
@@ -0,0 +1,64 @@
+
+
+
+ CLIENT_ID
+ ^[^.]+
+ DEFAULT
+
+
+ CLIENT_ID
+ ^[^.]+
+ DEFAULT
+
+
+
+
+
+ USER_NAME
+
+
+
+ connector1
+
+
+
+
+ SNI_HOST
+ ^[^.]+
+ DEFAULT
+
+
+ 1000
+ true
+
+
+
+
+
+ true
+ 60000
+
+
+
+ 3000
+ 2
+ 1000
+
+
+
+
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-connector-services.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-connector-services.xml
new file mode 100644
index 0000000000..9b594abca5
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-connector-services.xml
@@ -0,0 +1,21 @@
+
+
+
+ org.foo
+
+
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-connectors.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-connectors.xml
new file mode 100644
index 0000000000..96bc7c8486
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-connectors.xml
@@ -0,0 +1,20 @@
+
+
+ tcp://localhost1:5678?localAddress=mylocal;localPort=99
+ vm://5
+
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-discovery-groups.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-discovery-groups.xml
new file mode 100644
index 0000000000..824705efe4
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-discovery-groups.xml
@@ -0,0 +1,30 @@
+
+
+
+ 172.16.8.10
+ 192.168.0.120
+ 11999
+ 12345
+
+
+ 172.16.8.11
+ 192.168.0.121
+ 12999
+ 23456
+
+
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-diverts.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-diverts.xml
new file mode 100644
index 0000000000..0c1eca2ea2
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-diverts.xml
@@ -0,0 +1,46 @@
+
+
+
+ routing-name1
+ address1
+ forwarding-address1
+
+ org.foo.Transformer
+ true
+
+
+ routing-name2
+ address2
+ forwarding-address2
+
+ org.foo.Transformer2
+ false
+
+
+ routing-name2
+ address2
+ forwarding-address2
+
+
+ org.foo.DivertTransformer3
+
+
+
+ false
+
+
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-federations.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-federations.xml
new file mode 100644
index 0000000000..be42e000c6
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-federations.xml
@@ -0,0 +1,123 @@
+
+
+
+
+
+ connector1
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ connector1
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ connector1
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.foo.FederationTransformer3
+
+
+
+
+
+
+
+
+ connector1
+
+
+
+
+
+ true
+
+
+
+ connector1
+
+
+
+
+
+
+
+
+
+
+ org.foo.FederationTransformer4
+
+
+
+
+
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-grouping-handler.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-grouping-handler.xml
new file mode 100644
index 0000000000..5ab082bb69
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-grouping-handler.xml
@@ -0,0 +1,20 @@
+
+
+ LOCAL
+ jms
+
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-ha-policy.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-ha-policy.xml
new file mode 100644
index 0000000000..4eea81315c
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-ha-policy.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+ boo!
+
+
+
+
+
+
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-metrics.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-metrics.xml
new file mode 100644
index 0000000000..dc149d28aa
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-metrics.xml
@@ -0,0 +1,27 @@
+
+
+ false
+ true
+ true
+ true
+
+
+
+
+
+
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-remoting-incoming-interceptors.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-remoting-incoming-interceptors.xml
new file mode 100644
index 0000000000..3a04d28d18
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-remoting-incoming-interceptors.xml
@@ -0,0 +1,20 @@
+
+
+ org.apache.activemq.artemis.tests.unit.core.config.impl.TestInterceptor1
+ org.apache.activemq.artemis.tests.unit.core.config.impl.TestInterceptor2
+
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-remoting-outgoing-interceptors.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-remoting-outgoing-interceptors.xml
new file mode 100644
index 0000000000..1da4d07c7c
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-remoting-outgoing-interceptors.xml
@@ -0,0 +1,20 @@
+
+
+ org.apache.activemq.artemis.tests.unit.core.config.impl.TestInterceptor1
+ org.apache.activemq.artemis.tests.unit.core.config.impl.TestInterceptor2
+
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-resource-limit-settings.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-resource-limit-settings.xml
new file mode 100644
index 0000000000..18e3b4b3d0
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-resource-limit-settings.xml
@@ -0,0 +1,22 @@
+
+
+
+ 104
+ 13
+
+
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-security-settings.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-security-settings.xml
new file mode 100644
index 0000000000..38076ab345
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-security-settings.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-store.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-store.xml
new file mode 100644
index 0000000000..9b8ed9c484
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config-store.xml
@@ -0,0 +1,28 @@
+
+
+
+ jdbc:derby:target/derby/database-store;create=true
+ 5493dd76567ee5ec269d11823973462f
+ 56a0db3b71043054269d11823973462f
+ BINDINGS_TABLE
+ MESSAGE_TABLE
+ LARGE_MESSAGE_TABLE
+ PAGE_STORE_TABLE
+ org.apache.derby.jdbc.EmbeddedDriver
+
+
diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config.xml
new file mode 100644
index 0000000000..773910cb43
--- /dev/null
+++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-schema-config.xml
@@ -0,0 +1,163 @@
+
+
+
+ SomeNameForUseOnTheApplicationServer
+ false
+ false
+ 12345
+ 54321
+ false
+ true
+ 12345
+ 5423
+ 333
+ 444
+ 7654
+ true
+ Giraffe
+ Whatever
+ Frog
+ 32a10275cf4ab4e9
+ org.apache.activemq.artemis.utils.DefaultSensitiveStringCodec
+ true
+ com.foo
+ false
+ gro.qtenroh
+ true
+ 123456
+ 5
+ 12345
+ false
+ 98765
+ 56789
+ 10111213
+ 8
+ 25000
+ 127
+ false
+ true
+ true
+ false
+ 123456
+ 98765
+ 1234567
+ TEMP
+ 1234567
+ 37
+ 123
+ HALT
+ 333
+ 777
+ false
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+ address1
+
+ false
+
+
+ address2
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pagingdir
+ somedir
+ false
+ 17
+ true
+ somedir2
+ history
+ false
+ NIO
+ 1000
+ 10000
+ false
+ true
+ true
+ 12345678
+ 100
+ 33
+ 123
+ 56546
+ 9876
+ 777
+ 5000
+ 95
+ 54321
+ largemessagesdir
+ 127.0.0.1
+ some-nick
+ 123
+ 321
+ www.apache.org
+ ping-four
+ ping-six
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+