Skip to content

Commit c7d6050

Browse files
committed
ARTEMIS-4213 - doc update added some Broker Properties reference and added some docs to the schema
https://issues.apache.org/jira/browse/ARTEMIS-4213
1 parent 6d9bd71 commit c7d6050

File tree

2 files changed

+464
-40
lines changed

2 files changed

+464
-40
lines changed

artemis-server/src/main/resources/schema/artemis-configuration.xsd

Lines changed: 178 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1426,6 +1426,11 @@
14261426
<xsd:choice>
14271427
<xsd:element name="static-connectors" maxOccurs="1" minOccurs="1">
14281428
<xsd:complexType>
1429+
<xsd:annotation>
1430+
<xsd:documentation>
1431+
A list of connector references configured via connectors
1432+
</xsd:documentation>
1433+
</xsd:annotation>
14291434
<xsd:sequence>
14301435
<xsd:element name="connector-ref" type="xsd:string" maxOccurs="unbounded" minOccurs="1"/>
14311436
</xsd:sequence>
@@ -1434,6 +1439,11 @@
14341439
</xsd:element>
14351440
<xsd:element name="discovery-group-ref" maxOccurs="1" minOccurs="1">
14361441
<xsd:complexType>
1442+
<xsd:annotation>
1443+
<xsd:documentation>
1444+
A reference to a configured Discovery Group
1445+
</xsd:documentation>
1446+
</xsd:annotation>
14371447
<xsd:attribute name="discovery-group-name" type="xsd:IDREF" use="required">
14381448
<xsd:annotation>
14391449
<xsd:documentation>
@@ -1511,6 +1521,11 @@
15111521
</xsd:complexType>
15121522

15131523
<xsd:complexType name="streamType">
1524+
<xsd:annotation>
1525+
<xsd:documentation>
1526+
This is the streams connection configuration
1527+
</xsd:documentation>
1528+
</xsd:annotation>
15141529
<xsd:sequence>
15151530

15161531
<xsd:element name="ha" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0">
@@ -1613,6 +1628,11 @@
16131628

16141629
<xsd:choice>
16151630
<xsd:element name="static-connectors" maxOccurs="1" minOccurs="1">
1631+
<xsd:annotation>
1632+
<xsd:documentation>
1633+
A list of connector references configured via connectors
1634+
</xsd:documentation>
1635+
</xsd:annotation>
16161636
<xsd:complexType>
16171637
<xsd:sequence>
16181638
<xsd:element name="connector-ref" type="xsd:string" maxOccurs="unbounded" minOccurs="1"/>
@@ -1675,18 +1695,60 @@
16751695

16761696
<xsd:complexType name="queuePolicyType">
16771697
<xsd:sequence>
1678-
<xsd:element name="include" type="queueMatchType" minOccurs="0" maxOccurs="unbounded"/>
1679-
<xsd:element name="exclude" type="queueMatchType" minOccurs="0" maxOccurs="unbounded"/>
1698+
<xsd:element name="include" type="queueMatchType" minOccurs="0" maxOccurs="unbounded">
1699+
<xsd:annotation>
1700+
<xsd:documentation>
1701+
A list of queue matches to include
1702+
</xsd:documentation>
1703+
</xsd:annotation></xsd:element>
1704+
<xsd:element name="exclude" type="queueMatchType" minOccurs="0" maxOccurs="unbounded">
1705+
<xsd:annotation>
1706+
<xsd:documentation>
1707+
A list of Queue matches to exclude
1708+
</xsd:documentation>
1709+
</xsd:annotation></xsd:element>
16801710
</xsd:sequence>
1681-
<xsd:attribute name="transformer-ref" type="xsd:string" use="optional" />
1682-
<xsd:attribute name="priority-adjustment" type="xsd:int" use="optional" />
1683-
<xsd:attribute name="include-federated" type="xsd:boolean" use="optional" />
1684-
<xsd:attribute name="name" type="xsd:ID" use="required" />
1711+
<xsd:attribute name="transformer-ref" type="xsd:string" use="optional">
1712+
<xsd:annotation>
1713+
<xsd:documentation>
1714+
The ref name for a transformer (see transformer config) that you may wish to configure to transform the message on federation transfer.
1715+
</xsd:documentation>
1716+
</xsd:annotation>
1717+
</xsd:attribute>
1718+
<xsd:attribute name="priority-adjustment" type="xsd:int" use="optional" >
1719+
<xsd:annotation>
1720+
<xsd:documentation>
1721+
when a consumer attaches its priority is used to make the upstream consumer, but with an adjustment by default -1,
1722+
so that local consumers get load balanced first over remote, this enables this to be configurable should it be wanted/needed.
1723+
</xsd:documentation>
1724+
</xsd:annotation>
1725+
</xsd:attribute>
1726+
<xsd:attribute name="include-federated" type="xsd:boolean" use="optional">
1727+
<xsd:annotation>
1728+
<xsd:documentation>
1729+
by default this is false, we don't federate a federated consumer, this is to avoid issue, where in symmetric
1730+
or any closed loop setup you could end up when no "real" consumers attached with messages flowing round and round endlessly.
1731+
</xsd:documentation>
1732+
</xsd:annotation>
1733+
</xsd:attribute>
1734+
<xsd:attribute name="name" type="xsd:ID" use="required">
1735+
<xsd:annotation>
1736+
<xsd:documentation>
1737+
The name of the policy
1738+
</xsd:documentation>
1739+
</xsd:annotation>
1740+
</xsd:attribute>
16851741
<xsd:attributeGroup ref="xml:specialAttrs"/>
16861742
</xsd:complexType>
16871743

16881744
<xsd:complexType name="queueMatchType">
1689-
<xsd:attribute name="queue-match" type="xsd:string" use="required" />
1745+
<xsd:attribute name="queue-match" type="xsd:string" use="required">
1746+
<xsd:annotation>
1747+
<xsd:documentation>
1748+
A Queue match pattern to apply. If none are present all queues will be matched
1749+
</xsd:documentation>
1750+
</xsd:annotation>
1751+
</xsd:attribute>
16901752
<xsd:attribute name="address-match" type="xsd:string" use="required" />
16911753
<xsd:attributeGroup ref="xml:specialAttrs" />
16921754
</xsd:complexType>
@@ -1696,14 +1758,60 @@
16961758
<xsd:element name="include" type="addressMatchType" minOccurs="0" maxOccurs="unbounded"/>
16971759
<xsd:element name="exclude" type="addressMatchType" minOccurs="0" maxOccurs="unbounded"/>
16981760
</xsd:sequence>
1699-
<xsd:attribute name="transformer-ref" type="xsd:string" use="optional" />
1700-
<xsd:attribute name="auto-delete" type="xsd:boolean" use="optional" />
1701-
<xsd:attribute name="auto-delete-delay" type="xsd:long" use="optional" />
1702-
<xsd:attribute name="auto-delete-message-count" type="xsd:long" use="optional" />
1703-
<xsd:attribute name="max-hops" type="xsd:int" use="optional" />
1704-
<xsd:attribute name="name" type="xsd:ID" use="required" />
1705-
<xsd:attribute name="enable-divert-bindings" type="xsd:boolean" use="optional" />
1706-
<xsd:attributeGroup ref="xml:specialAttrs"/>
1761+
<xsd:attribute name="transformer-ref" type="xsd:string" use="optional" >
1762+
<xsd:annotation>
1763+
<xsd:documentation>
1764+
The ref name for a transformer (see transformer config) that you may wish to configure to transform the message on federation transfer.
1765+
</xsd:documentation>
1766+
</xsd:annotation>
1767+
</xsd:attribute>
1768+
<xsd:attribute name="auto-delete" type="xsd:boolean" use="optional">
1769+
<xsd:annotation>
1770+
<xsd:documentation>
1771+
For address federation, the downstream dynamically creates a durable queue on the upstream address.
1772+
This is used to mark if the upstream queue should be deleted once downstream disconnects,
1773+
and the delay and message count params have been met. This is useful if you want to automate the clean up,
1774+
though you may wish to disable this if you want messages to queued for the downstream when disconnect no matter what.
1775+
</xsd:documentation>
1776+
</xsd:annotation>
1777+
</xsd:attribute>
1778+
<xsd:attribute name="auto-delete-delay" type="xsd:long" use="optional">
1779+
<xsd:annotation>
1780+
<xsd:documentation>
1781+
The amount of time in milliseconds after the downstream broker has disconnected before the upstream queue can be eligable for auto-delete.
1782+
</xsd:documentation>
1783+
</xsd:annotation>
1784+
</xsd:attribute>
1785+
<xsd:attribute name="auto-delete-message-count" type="xsd:long" use="optional">
1786+
<xsd:annotation>
1787+
<xsd:documentation>
1788+
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.
1789+
</xsd:documentation>
1790+
</xsd:annotation>
1791+
</xsd:attribute>
1792+
<xsd:attribute name="max-hops" type="xsd:int" use="optional" >
1793+
<xsd:annotation>
1794+
<xsd:documentation>
1795+
The number of hops that a message can have made for it to be federated
1796+
</xsd:documentation>
1797+
</xsd:annotation>
1798+
</xsd:attribute>
1799+
<xsd:attribute name="name" type="xsd:ID" use="required">
1800+
<xsd:annotation>
1801+
<xsd:documentation>
1802+
All address-policies must have a unique name in the server.
1803+
</xsd:documentation>
1804+
</xsd:annotation>
1805+
</xsd:attribute>
1806+
<xsd:attribute name="enable-divert-bindings" type="xsd:boolean" use="optional">
1807+
<xsd:annotation>
1808+
<xsd:documentation>
1809+
Setting to true will enable divert bindings to be listened for demand. If there is a divert binding with
1810+
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
1811+
</xsd:documentation>
1812+
</xsd:annotation>
1813+
</xsd:attribute>
1814+
<xsd:attributeGroup ref="xml:specialAttrs" />
17071815
</xsd:complexType>
17081816

17091817
<xsd:complexType name="addressMatchType">
@@ -1712,11 +1820,16 @@
17121820
</xsd:complexType>
17131821

17141822
<xsd:complexType name="federationTransformerType">
1823+
<xsd:annotation>
1824+
<xsd:documentation>
1825+
Allows adding a custom transformer to amend the message
1826+
</xsd:documentation>
1827+
</xsd:annotation>
17151828
<xsd:sequence>
17161829
<xsd:element name="class-name" type="xsd:string" maxOccurs="1" minOccurs="1">
17171830
<xsd:annotation>
17181831
<xsd:documentation>
1719-
optional name of transformer class
1832+
the class name of the Transformer implementation
17201833
</xsd:documentation>
17211834
</xsd:annotation>
17221835
</xsd:element>
@@ -1847,14 +1960,20 @@
18471960
<xsd:element name="cache" type="connectionRouterCacheType" maxOccurs="1" minOccurs="0">
18481961
<xsd:annotation>
18491962
<xsd:documentation>
1850-
the time period for a cache entry to remain active
1963+
This controls how often a cache removes its entries and if they are persisted.
18511964
</xsd:documentation>
18521965
</xsd:annotation>
18531966
</xsd:element>
18541967
<xsd:element name="policy" type="connectionRouterPolicyType" maxOccurs="1" minOccurs="0">
18551968
<xsd:annotation>
18561969
<xsd:documentation>
1857-
the policy configuration
1970+
The policy defines how to select a broker from a pool and allows key values transformation. The included policies are:\n\n
1971+
1972+
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
1973+
2. ROUND_ROBIN to select a target sequentially from a pool, this policy is useful to evenly distribute;\n
1974+
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
1975+
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
1976+
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
18581977
</xsd:documentation>
18591978
</xsd:annotation>
18601979
</xsd:element>
@@ -2005,6 +2124,11 @@
20052124
</xsd:annotation>
20062125
</xsd:element>
20072126
<xsd:element name="static-connectors" maxOccurs="1" minOccurs="1">
2127+
<xsd:annotation>
2128+
<xsd:documentation>
2129+
A list of connector references configured via connectors
2130+
</xsd:documentation>
2131+
</xsd:annotation>
20082132
<xsd:complexType>
20092133
<xsd:sequence>
20102134
<xsd:element name="connector-ref" type="xsd:string" maxOccurs="unbounded" minOccurs="1"/>
@@ -2030,6 +2154,16 @@
20302154
</xsd:complexType>
20312155

20322156
<xsd:complexType name="amqp-connectionUriType">
2157+
<xsd:annotation>
2158+
<xsd:documentation>
2159+
An AMQP Broker Connection that supports 4 types, these are:\n
2160+
2161+
1. Mirrors - The broker uses an AMQP connection to another broker and duplicates messages and sends acknowledgements over the wire.\n
2162+
2. Senders - Messages received on specific queues are transferred to another endpoint.\n
2163+
3. Receivers - The broker pulls messages from another endpoint.\n
2164+
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
2165+
</xsd:documentation>
2166+
</xsd:annotation>
20332167
<xsd:sequence>
20342168
<xsd:choice maxOccurs="unbounded">
20352169
<xsd:element name="sender" type="amqp-address-match-type"/>
@@ -2119,7 +2253,7 @@
21192253
<xsd:attribute name="message-acknowledgements" type="xsd:boolean" use="optional" default="true">
21202254
<xsd:annotation>
21212255
<xsd:documentation>
2122-
Should mirror acknowledgements towards the other server
2256+
If true then message acknowledgements will be mirrored
21232257
</xsd:documentation>
21242258
</xsd:annotation>
21252259
</xsd:attribute>
@@ -2368,6 +2502,11 @@
23682502

23692503
<xsd:choice>
23702504
<xsd:element name="static-connectors" maxOccurs="1" minOccurs="0">
2505+
<xsd:annotation>
2506+
<xsd:documentation>
2507+
A list of connectors references names
2508+
</xsd:documentation>
2509+
</xsd:annotation>
23712510
<xsd:complexType>
23722511
<xsd:sequence>
23732512
<xsd:element name="connector-ref" type="xsd:string" maxOccurs="unbounded" minOccurs="0"/>
@@ -3739,15 +3878,15 @@
37393878
</xsd:annotation>
37403879
</xsd:element>
37413880

3742-
<xsd:element name="max-size-bytes" type="xsd:string" default="-1" maxOccurs="1" minOccurs="0">
3743-
<xsd:annotation>
3744-
<xsd:documentation>
3745-
the maximum size (in bytes) for an address (-1 means no limits). This is used in PAGING, BLOCK and
3746-
FAIL policies.
3747-
Supports byte notation like "K", "Mb", "MiB", "GB", etc.
3748-
</xsd:documentation>
3749-
</xsd:annotation>
3750-
</xsd:element>
3881+
<xsd:element name="max-size-bytes" type="xsd:string" default="-1" maxOccurs="1" minOccurs="0">
3882+
<xsd:annotation>
3883+
<xsd:documentation>
3884+
the maximum size (in bytes) for an address (-1 means no limits). This is used in PAGING, BLOCK and
3885+
FAIL policies.
3886+
Supports byte notation like "K", "Mb", "MiB", "GB", etc.
3887+
</xsd:documentation>
3888+
</xsd:annotation>
3889+
</xsd:element>
37513890

37523891
<xsd:element name="max-size-messages" type="xsd:long" default="-1" maxOccurs="1" minOccurs="0">
37533892
<xsd:annotation>
@@ -3785,14 +3924,14 @@
37853924
</xsd:annotation>
37863925
</xsd:element>
37873926

3788-
<xsd:element name="page-size-bytes" type="xsd:string" default="10485760" maxOccurs="1" minOccurs="0">
3789-
<xsd:annotation>
3790-
<xsd:documentation>
3791-
The page size (in bytes) to use for an address.
3792-
Supports byte notation like "K", "Mb", "MiB", "GB", etc.
3793-
</xsd:documentation>
3794-
</xsd:annotation>
3795-
</xsd:element>
3927+
<xsd:element name="page-size-bytes" type="xsd:string" default="10485760" maxOccurs="1" minOccurs="0">
3928+
<xsd:annotation>
3929+
<xsd:documentation>
3930+
The page size (in bytes) to use for an address.
3931+
Supports byte notation like "K", "Mb", "MiB", "GB", etc.
3932+
</xsd:documentation>
3933+
</xsd:annotation>
3934+
</xsd:element>
37963935

37973936
<xsd:element name="page-max-cache-size" default="5" type="xsd:int" maxOccurs="1" minOccurs="0">
37983937
<xsd:annotation>
@@ -3851,7 +3990,7 @@
38513990
</xsd:element>
38523991

38533992
<xsd:element name="message-counter-history-day-limit" type="xsd:int" default="0" maxOccurs="1"
3854-
minOccurs="0">
3993+
minOccurs="0">
38553994
<xsd:annotation>
38563995
<xsd:documentation>
38573996
how many days to keep message counter history for this address
@@ -4101,7 +4240,7 @@
41014240
<xsd:element name="config-delete-queues" default="OFF" maxOccurs="1" minOccurs="0">
41024241
<xsd:annotation>
41034242
<xsd:documentation>
4104-
What to do when a queue is no longer in broker.xml.
4243+
What to do when a queue is no longer in broker.xml.
41054244
OFF = will do nothing queues will remain,
41064245
FORCE = delete queues even if messages remaining.
41074246
</xsd:documentation>
@@ -4197,7 +4336,7 @@
41974336
</xsd:element>
41984337

41994338
<xsd:element name="default-purge-on-no-consumers" type="xsd:boolean" default="false" maxOccurs="1"
4200-
minOccurs="0">
4339+
minOccurs="0">
42014340
<xsd:annotation>
42024341
<xsd:documentation>
42034342
purge the contents of the queue once there are no consumers

0 commit comments

Comments
 (0)