/
artemis-configuration.xsd
4641 lines (4300 loc) · 205 KB
/
artemis-configuration.xsd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="urn:activemq:core"
targetNamespace="urn:activemq:core"
attributeFormDefault="unqualified"
elementFormDefault="qualified"
version="1.0">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
<xsd:element name="core" type="configurationType"/>
<xsd:complexType name="configurationType">
<xsd:all>
<xsd:element name="name" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Node name. If set, it will be used in topology notifications.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="system-property-prefix" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
This defines the prefix which we will use to parse System properties for the configuration. Default=
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="internal-naming-prefix" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
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.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="amqp-use-core-subscription-naming" type="xsd:boolean" maxOccurs="1" minOccurs="0" default="false">
<xsd:annotation>
<xsd:documentation>
This enables making AMQP subscription queue names, match core queue names, for better interoperability between protocols.
Note: Enabling this to an existing broker if pre-existing amqp durable subscriptions already existed will require
clients to re-subscribe and to clean up old subscription names.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="resolve-protocols" type="xsd:boolean" default="true" maxOccurs="1"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
If true then the ActiveMQ Artemis Server will make use of any Protocol Managers that are in available
on the classpath. If false then only the core protocol will be available, unless in Embedded mode
where users can inject their own Protocol Managers.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="journal-datasync" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
that means the server will use fdatasync to confirm writes on the disk.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="persistence-enabled" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
true means that the server will use the file based journal for persistence.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="scheduled-thread-pool-max-size" type="xsd:int" default="5" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Maximum number of threads to use for the scheduled thread pool
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="thread-pool-max-size" type="xsd:int" default="30" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Maximum number of threads to use for the thread pool. -1 means 'no limits'.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="graceful-shutdown-enabled" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
true means that graceful shutdown is enabled
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="graceful-shutdown-timeout" type="xsd:long" default="-1" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
how long (in ms) to wait for clients to disconnect before shutting down the server
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="security-enabled" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
true means that security is enabled
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="security-invalidation-interval" type="xsd:long" default="10000" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
how long (in ms) to wait before invalidating an entry in the authentication or authorization cache
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="authentication-cache-size" type="xsd:long" default="1000" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
how large to make the authentication cache
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="authorization-cache-size" type="xsd:long" default="1000" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
how large to make the authorization cache
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="journal-lock-acquisition-timeout" type="xsd:long" default="-1" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
how long (in ms) to wait to acquire a file lock on the journal
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="wild-card-routing-enabled" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
true means that the server supports wild card routing
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="management-address" type="xsd:string" default="jms.queue.activemq.management" maxOccurs="1"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
the name of the management address to send management messages to. It is prefixed with "jms.queue" so
that JMS clients can send messages to it.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="management-notification-address" type="xsd:string" default="activemq.notifications"
maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
the name of the address that consumers bind to receive management notifications
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="cluster-user" type="xsd:string" default="ACTIVEMQ.CLUSTER.ADMIN.USER" maxOccurs="1"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Cluster username. It applies to all cluster configurations.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="cluster-password" maxOccurs="1" minOccurs="0" type="xsd:string" default="CHANGE ME!!">
<xsd:annotation>
<xsd:documentation>
Cluster password. It applies to all cluster configurations.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="password-codec" type="xsd:string"
default="org.apache.activemq.artemis.utils.DefaultSensitiveStringCodec" maxOccurs="1"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Class name and its parameters for the Decoder used to decode the masked password. Ignored if
mask-password is false. The format of this property is a full qualified class name optionally followed
by key/value pairs.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="mask-password" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
This option controls whether passwords in server configuration need be masked. If set to "true" the
passwords are masked.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="log-delegate-factory-class-name" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
DEPRECATED: the name of the factory class to use for log delegation
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="jmx-management-enabled" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
true means that the management API is available via JMX
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="jmx-domain" type="xsd:string" default="org.apache.activemq" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
the JMX domain used to registered ActiveMQ Artemis MBeans in the MBeanServer
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="jmx-use-broker-name" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Whether or not to use the broker name in the JMX properties
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="message-counter-enabled" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
true means that message counters are enabled
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="message-counter-sample-period" type="xsd:long" default="10000" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
the sample period (in ms) to use for message counters
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="message-counter-max-day-history" type="xsd:int" default="10" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
how many days to keep message counter history
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="connection-ttl-override" type="xsd:long" default="-1" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
if set, this will override how long (in ms) to keep a connection alive without receiving a ping. -1
disables this setting.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="connection-ttl-check-interval" type="xsd:long" default="2000" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
how often (in ms) to check connections for ttl violation
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="configuration-file-refresh-period" type="xsd:long" default="5000" maxOccurs="1"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
how often (in ms) to check the configuration file for modifications
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="temporary-queue-namespace" type="xsd:string" default="" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
the namespace to use for looking up address settings for temporary queues
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="async-connection-execution-enabled" type="xsd:boolean" default="true" maxOccurs="1"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
should certain incoming packets on the server be handed off to a thread from the thread pool for
processing or should they be handled on the remoting thread?
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="transaction-timeout" type="xsd:long" default="300000" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
how long (in ms) before a transaction can be removed from the resource manager after create time
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="transaction-timeout-scan-period" type="xsd:long" default="1000" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
how often (in ms) to scan for timeout transactions
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="message-expiry-scan-period" type="xsd:long" default="30000" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
how often (in ms) to scan for expired messages
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="message-expiry-thread-priority" type="xsd:int" default="3" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
DEPRECATED: the priority of the thread expiring messages
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="address-queue-scan-period" type="xsd:long" default="30000" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
how often (in ms) to scan for addresses and queues that need to be deleted
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="id-cache-size" type="xsd:int" default="20000" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
the size of the cache for pre-creating message ID's
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="persist-id-cache" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
true means that ID's are persisted to the journal
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="remoting-incoming-interceptors" type="class-name-sequenceType" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
a list of <class-name/> elements with the names of classes to use for intercepting incoming
remoting packets
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="remoting-outgoing-interceptors" type="class-name-sequenceType" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
a list of <class-name/> elements with the names of classes to use for intercepting outgoing
remoting packets
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="persist-delivery-count-before-delivery" type="xsd:boolean" default="false" maxOccurs="1"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
True means that the delivery count is persisted before delivery. False means that this only happens
after a message has been cancelled.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="populate-validated-user" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
true means that the server will add the name of the validated user to messages it sends
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="reject-empty-validated-user" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
true means that the server will not allow any message that doesn't have a validated user, in JMS this is JMSXUserID
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="mqtt-session-scan-interval" type="xsd:long" default="5000" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
how often (in ms) to scan for expired MQTT sessions
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="connectors" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
a list of remoting connectors configurations to create
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="connector" type="transportType" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attributeGroup ref="xml:specialAttrs"/>
</xsd:complexType>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="acceptors">
<xsd:annotation>
<xsd:documentation>
a list of remoting acceptors to create
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="acceptor" type="transportType" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attributeGroup ref="xml:specialAttrs"/>
</xsd:complexType>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="broadcast-groups">
<xsd:annotation>
<xsd:documentation>
a list of broadcast groups to create
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="broadcast-group" maxOccurs="unbounded" minOccurs="0"/>
</xsd:sequence>
<xsd:attributeGroup ref="xml:specialAttrs"/>
</xsd:complexType>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="discovery-groups">
<xsd:annotation>
<xsd:documentation>
a list of discovery groups to create
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="discovery-group">
<xsd:annotation>
<xsd:documentation>
a discovery group specification element
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attributeGroup ref="xml:specialAttrs"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="diverts" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
a list of diverts to use
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="divert" type="divertType" maxOccurs="unbounded" minOccurs="0"/>
</xsd:sequence>
<xsd:attributeGroup ref="xml:specialAttrs"/>
</xsd:complexType>
</xsd:element>
<!-- QUEUES -->
<xsd:element name="queues" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
DEPRECATED: a list of pre configured queues to create
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="queue" maxOccurs="unbounded" minOccurs="0">
<xsd:complexType>
<xsd:all>
<xsd:element name="address" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
address for the queue
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="user" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
user to associate for creating the queue
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="filter" maxOccurs="1" minOccurs="0"/>
<xsd:element name="durable" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
whether the queue is durable (persistent)
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:all>
<xsd:attribute name="name" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation>
unique name of this queue
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="max-consumers" type="xsd:integer" use="optional"/>
<xsd:attribute name="purge-on-no-consumers" type="xsd:boolean" use="optional"/>
<xsd:attribute name="exclusive" type="xsd:boolean" use="optional"/>
<xsd:attribute name="group-rebalance" type="xsd:boolean" use="optional"/>
<xsd:attribute name="group-rebalance-pause-dispatch" type="xsd:boolean" use="optional"/>
<xsd:attribute name="group-buckets" type="xsd:int" use="optional"/>
<xsd:attribute name="group-first-key" type="xsd:string" use="optional"/>
<xsd:attribute name="last-value" type="xsd:boolean" use="optional"/>
<xsd:attribute name="last-value-key" type="xsd:string" use="optional"/>
<xsd:attribute name="non-destructive" type="xsd:boolean" use="optional"/>
<xsd:attribute name="consumers-before-dispatch" type="xsd:int" use="optional"/>
<xsd:attribute name="delay-before-dispatch" type="xsd:long" use="optional"/>
<xsd:attributeGroup ref="xml:specialAttrs"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attributeGroup ref="xml:specialAttrs"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="bridges" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
a list of bridges to create
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="bridge" type="bridgeType" maxOccurs="unbounded" minOccurs="0"/>
</xsd:sequence>
<xsd:attributeGroup ref="xml:specialAttrs"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="federations" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
a list of federations to create
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="federation" type="federationType" maxOccurs="unbounded" minOccurs="0"/>
</xsd:sequence>
<xsd:attributeGroup ref="xml:specialAttrs"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="ha-policy" type="haPolicyType" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The HA policy of this server
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="cluster-connections" type="clusterConnectionChoiceType" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
a list of cluster connections
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="broker-connections" type="brokerConnectType" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
A list of connections the broker will make towards other servers.
Currently the only connection type supported is amqpConnection
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="connection-routers" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
A list of connection routers
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="connection-router" type="connectionRouterType" maxOccurs="unbounded" minOccurs="0"/>
</xsd:sequence>
<xsd:attributeGroup ref="xml:specialAttrs"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="grouping-handler" type="groupingHandlerType" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Message Group configuration
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="paging-directory" type="xsd:string" default="data/paging" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
the directory to store paged messages in
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="bindings-directory" type="xsd:string" default="data/bindings" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
the directory to store the persisted bindings to
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="create-bindings-dir" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
true means that the server will create the bindings directory on start up
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="page-max-concurrent-io" type="xsd:int" default="5" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The max number of concurrent reads allowed on paging
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="read-whole-page" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Whether the whole page is read while getting message after page cache is evicted.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="journal-directory" type="xsd:string" default="data/journal" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
the directory to store the journal files in
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="journal-retention-directory" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
the directory to store journal-retention message in and rention configuraion.
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="unit" use="optional">
<xsd:annotation>
<xsd:documentation>
This configures the period type to use on limit. By default it is DAYS.
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="DAYS"/>
<xsd:enumeration value="HOURS"/>
<xsd:enumeration value="MINUTES"/>
<xsd:enumeration value="SECONDS"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="period" type="xsd:integer" use="optional">
<xsd:annotation>
<xsd:documentation>
The amount of time used to keep files.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="storage-limit" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation>
Size (in bytes) before we starting removing files from the retention area.
this is an extra protection on top of the period.
Notice we first remove files based on period and if you're using more storage then you
configured we start removing older files.
By default this is unlimited (not filled).
Supports byte notation like "K", "Mb", "GB", etc.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="node-manager-lock-directory" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
the directory to store the node manager lock file
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="create-journal-dir" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
true means that the journal directory will be created
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="journal-type" default="ASYNCIO" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
the type of journal to use
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ASYNCIO"/>
<xsd:enumeration value="NIO"/>
<xsd:enumeration value="MAPPED"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="journal-buffer-timeout" type="xsd:long" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
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.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="journal-device-block-size" type="xsd:long" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
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.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="journal-buffer-size" type="xsd:string" default="501760" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The size (in bytes) of the internal buffer on the journal. Supports byte notation like "K", "Mb",
"GB", etc.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="journal-sync-transactional" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
if true wait for transaction data to be synchronized to the journal before returning response to
client
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="journal-sync-non-transactional" type="xsd:boolean" default="true" maxOccurs="1"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
if true wait for non transaction data to be synced to the journal before returning response to client.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="log-journal-write-rate" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Whether to log messages about the journal write rate
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="journal-file-size" default="10485760" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The size (in bytes) of each journal file. Supports byte notation like "K", "Mb", "GB", etc.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="journal-min-files" type="xsd:int" default="2" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
how many journal files to pre-create
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="journal-pool-files" type="xsd:int" default="-1" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
how many journal files to pre-create
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="journal-compact-percentage" type="xsd:int" default="30" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The percentage of live data on which we consider compacting the journal
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="journal-compact-min-files" type="xsd:int" default="10" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The minimal number of data files before we can start compacting
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="journal-max-io" type="xsd:int" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
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.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="journal-file-open-timeout" type="xsd:int" default="5" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
the length of time in seconds to wait when opening a new Journal file before timing out and failing
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="server-dump-interval" type="xsd:long" default="-1" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Interval to log server specific information (e.g. memory usage etc)
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="global-max-messages" type="xsd:long" default="-1" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
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.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="global-max-size" type="xsd:string" default="-1" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Size (in bytes) before all addresses will enter into their Full Policy configured upon messages being
produced. Supports byte notation like "K", "Mb", "GB", etc.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="max-disk-usage" type="xsd:int" default="90" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Max percentage of disk usage before the system blocks or fails clients.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="disk-scan-period" type="xsd:long" default="5000" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
how often (in ms) to scan the disks for full disks.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="memory-warning-threshold" type="xsd:int" default="25" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Percentage of available memory which will trigger a warning log
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="memory-measure-interval" type="xsd:long" default="-1" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
frequency to sample JVM memory in ms (or -1 to disable memory sampling)
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="large-messages-directory" type="xsd:string" default="data/largemessages"
maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
the directory to store large messages
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="store" type="storeType" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The Store Type used by the server
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="critical-analyzer" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
should analyze response time on critical paths and decide for broker log, shutdown or halt.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="critical-analyzer-timeout" type="xsd:long" default="120000" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The default timeout used on analyzing timeouts on the critical path.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="critical-analyzer-check-period" type="xsd:long" default="0" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The timeout here will be defaulted to half critical-analyzer-timeout, calculation happening at runtime
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="critical-analyzer-policy" default="LOG" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Should the server log, be shutdown or halted upon critical analysis failure.
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="LOG"/>
<xsd:enumeration value="HALT"/>
<xsd:enumeration value="SHUTDOWN"/>
</xsd:restriction>
</xsd:simpleType>