| <?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="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> |
| 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="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-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> |
| </xsd:element> |
| |
| <xsd:element name="page-sync-timeout" type="xsd:int" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The timeout (in nanoseconds) used to sync pages. The exact default value |
| depend on whether the journal is ASYNCIO or NIO. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="security-settings" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| a list of security settings |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:complexType> |
| <xsd:sequence> |
| <xsd:choice> |
| <xsd:element name="security-setting" maxOccurs="unbounded" minOccurs="0"> |
| <xsd:complexType> |
| <xsd:annotation> |
| <xsd:documentation> |
| a permission to add to the matched addresses |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:sequence> |
| <xsd:element name="permission" maxOccurs="unbounded" minOccurs="0"> |
| <xsd:complexType> |
| <xsd:attribute name="type" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the type of permission |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="roles" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| a comma-separated list of roles to apply the permission to |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| </xsd:sequence> |
| <xsd:attribute name="match" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| pattern for matching security roles against addresses; can use wildcards |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| <xsd:element name="security-setting-plugin" maxOccurs="1" minOccurs="0"> |
| <xsd:complexType> |
| <xsd:annotation> |
| <xsd:documentation> |
| a plugin |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:sequence> |
| <xsd:element name="setting" maxOccurs="unbounded" minOccurs="0"> |
| <xsd:complexType> |
| <xsd:attribute name="name" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the name of the setting |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="value" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the value for the setting |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| </xsd:sequence> |
| <xsd:attribute name="class-name" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the name of the plugin class to instantiate |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| </xsd:choice> |
| <xsd:element name="role-mapping" minOccurs="0" maxOccurs="unbounded"> |
| <xsd:complexType> |
| <xsd:attribute name="from" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the name of the external role |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="to" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the comma delimited name of the internal role(s) |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| </xsd:sequence> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| |
| <xsd:element name="broker-plugins" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| a list of broker-plugins |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:complexType> |
| <xsd:sequence> |
| <xsd:element name="broker-plugin" maxOccurs="unbounded" minOccurs="0"> |
| <xsd:complexType> |
| <xsd:annotation> |
| <xsd:documentation> |
| a broker plugin |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:sequence> |
| <xsd:element ref="property" maxOccurs="unbounded" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| properties to configure a plugin |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:sequence> |
| <xsd:attribute name="class-name" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the name of the broker plugin class to instantiate |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| </xsd:sequence> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| |
| <xsd:element name="metrics-plugin" maxOccurs="1" minOccurs="0"> |
| <xsd:complexType> |
| <xsd:annotation> |
| <xsd:documentation> |
| DEPRECATED: use metrics instead. A metrics plugin |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:sequence> |
| <xsd:element ref="property" maxOccurs="unbounded" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| properties to configure a plugin |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:sequence> |
| <xsd:attribute name="class-name" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the name of the metrics plugin class to instantiate |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| |
| <xsd:element name="metrics" maxOccurs="1" minOccurs="0"> |
| <xsd:complexType> |
| <xsd:annotation> |
| <xsd:documentation> |
| metrics configuration |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:all> |
| <xsd:element name="jvm-memory" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| whether or not to report JVM memory metrics |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="jvm-threads" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| whether or not to report JVM thread metrics |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="jvm-gc" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| whether or not to report JVM GC metrics |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="netty-pool" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| whether or not to report Netty pool metrics |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="plugin" maxOccurs="1" minOccurs="0"> |
| <xsd:complexType> |
| <xsd:annotation> |
| <xsd:documentation> |
| a metrics plugin |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:sequence> |
| <xsd:element ref="property" maxOccurs="unbounded" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| properties to configure a plugin |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:sequence> |
| <xsd:attribute name="class-name" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the name of the metrics plugin class to instantiate |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| </xsd:all> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| |
| <xsd:element name="address-settings" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| a list of address settings |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:complexType> |
| <xsd:sequence> |
| <xsd:element ref="address-setting" maxOccurs="unbounded" minOccurs="0"/> |
| </xsd:sequence> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| |
| <xsd:element name="resource-limit-settings" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| a list of resource limit settings |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:complexType> |
| <xsd:sequence> |
| <xsd:element ref="resource-limit-setting" maxOccurs="unbounded" minOccurs="0"/> |
| </xsd:sequence> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| |
| <xsd:element name="connector-services" maxOccurs="1" minOccurs="0"> |
| <xsd:complexType> |
| <xsd:sequence> |
| <xsd:element name="connector-service" type="connector-serviceType" maxOccurs="unbounded" |
| minOccurs="0"/> |
| </xsd:sequence> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| |
| <xsd:element name="addresses" type="addressesType" maxOccurs="1" minOccurs="0"/> |
| |
| <xsd:element name="network-check-list" type="xsd:string" default="" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| A comma separated list of IPs to be used to validate if the broker should be kept up |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="network-check-URL-list" type="xsd:string" default="" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| A comma separated list of URLs to be used to validate if the broker should be kept up |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="network-check-period" type="xsd:long" default="10000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| A frequency in milliseconds to how often we should check if the network is still up |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="network-check-timeout" type="xsd:long" default="1000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| A timeout used in milliseconds to be used on the ping. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="network-check-NIC" type="xsd:string" default="" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The network interface card name to be used to validate the address. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="network-check-ping-command" type="xsd:string" default="" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The ping command used to ping IPV4 addresses. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="network-check-ping6-command" type="xsd:string" default="" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The ping command used to ping IPV6 addresses. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="wildcard-addresses" type="wildcardType" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| parameters to configure wildcard address matching format |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:all> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:element name="local-bind-address" type="xsd:string"> |
| <xsd:annotation> |
| <xsd:documentation> |
| local bind address that the datagram socket is bound to |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="local-bind-port" type="xsd:int" default="-1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| local port to which the datagram socket is bound to |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <!-- BROADCAST GROUP CONFIGURATION --> |
| <xsd:element name="broadcast-group"> |
| <xsd:complexType> |
| <xsd:sequence> |
| <xsd:element ref="local-bind-address" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| a local address to which the datagram socket is bound |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element ref="local-bind-port" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| a local port to which the datagram socket is bound |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="group-address" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| multicast address to which the data will be broadcast |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="group-port" type="xsd:int" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| UDP port number used for broadcasting |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="broadcast-period" type="xsd:long" default="2000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| period in milliseconds between consecutive broadcasts |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="jgroups-file" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Name of JGroups configuration file. If specified, the server uses JGroups for broadcasting. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="jgroups-channel" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Name of JGroups Channel. If specified, the server uses the named channel for broadcasting. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="connector-ref" type="xsd:string" maxOccurs="unbounded" minOccurs="0"/> |
| </xsd:sequence> |
| |
| <xsd:attribute name="name" type="xsd:ID" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| a unique name for the broadcast group |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| |
| <xsd:element name="discovery-group"> |
| <xsd:complexType> |
| <xsd:all> |
| <xsd:element name="group-address" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Multicast IP address of the group to listen on |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="group-port" type="xsd:int" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| UDP port number of the multi cast group |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="jgroups-file" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Name of a JGroups configuration file. If specified, the server uses JGroups for discovery. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="jgroups-channel" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Name of a JGroups Channel. If specified, the server uses the named channel for discovery. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="refresh-timeout" type="xsd:int" default="10000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Period the discovery group waits after receiving the last broadcast from a particular server before |
| removing that servers connector pair entry from its list. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element ref="local-bind-address" maxOccurs="1" minOccurs="0"/> |
| <xsd:element ref="local-bind-port" maxOccurs="1" minOccurs="0"/> |
| <xsd:element name="initial-wait-timeout" type="xsd:int" default="10000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| time to wait for an initial broadcast to give us at least one node in the cluster |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:all> |
| |
| <xsd:attribute name="name" type="xsd:ID" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| a unique name for the discovery group |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| |
| <xsd:element name="discovery-group-ref"> |
| <xsd:complexType> |
| <xsd:attribute name="discovery-group-name" type="xsd:IDREF"/> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| |
| <xsd:complexType name="class-name-sequenceType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| unlimited sequence of <class-name/> |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:sequence> |
| <xsd:element maxOccurs="unbounded" minOccurs="1" name="class-name" type="xsd:string"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the fully qualified name of the interceptor class |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:sequence> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="paramType"> |
| <xsd:attribute name="key" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Key of a configuration parameter |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="value" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Value of a configuration parameter |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <!-- BRIDGE CONFIGURATION --> |
| <xsd:complexType name="bridgeType"> |
| <xsd:sequence> |
| <xsd:element name="queue-name" type="xsd:string" maxOccurs="1" minOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| name of queue that this bridge consumes from |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="forwarding-address" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| address to forward to. If omitted original address is used |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="ha" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| whether this bridge supports fail-over |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element ref="filter" maxOccurs="1" minOccurs="0"/> |
| |
| <xsd:element name="transformer-class-name" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| optional name of transformer class |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="transformer" type="transformerType" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| optional transformer configuration |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="min-large-message-size" type="xsd:string" default="102400" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Any message larger than this size (in bytes) is considered a large message (to be sent in |
| chunks). Supports byte notation like "K", "Mb", "GB", etc. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="check-period" type="xsd:long" default="30000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The period (in milliseconds) a bridge's client will check if it failed to receive a ping from the |
| server. -1 disables this check. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="connection-ttl" type="xsd:long" default="60000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| how long to keep a connection alive in the absence of any data arriving from the client. This should |
| be greater than the ping period. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="retry-interval" type="xsd:long" default="2000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| period (in ms) between successive retries |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="retry-interval-multiplier" type="xsd:double" default="1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| multiplier to apply to successive retry intervals |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="max-retry-interval" type="xsd:long" default="2000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Limit to the retry-interval growth (due to retry-interval-multiplier) |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="initial-connect-attempts" type="xsd:int" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| maximum number of initial connection attempts, -1 means 'no limits' |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="reconnect-attempts" type="xsd:int" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| maximum number of retry attempts, -1 means 'no limits' |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="failover-on-server-shutdown" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| DEPRECATED: This setting has no impact, but it's being left here to avoid XML parsing errors for users |
| who still have it set. Failover on shutdown is controlled via the ha-policy set on the *broker* to |
| which the bridge connects. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="use-duplicate-detection" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| should duplicate detection headers be inserted in forwarded messages? |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="confirmation-window-size" type="xsd:string" maxOccurs="1" minOccurs="0" default="1048576"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Once the bridge has received this many bytes, it sends a confirmation. Supports byte notation like |
| "K", "Mb", "GB", etc. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="producer-window-size" type="xsd:string" maxOccurs="1" minOccurs="0" default="-1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Producer flow control. Supports byte notation like "K", "Mb", "GB", etc. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="user" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| username, if unspecified the cluster-user is used |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="password" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| password, if unspecified the cluster-password is used |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="reconnect-attempts-same-node" default="10" type="xsd:int" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Upon reconnection this configures the number of time the same node on the topology will be retried |
| before resetting the server locator and using the initial connectors |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="routing-type" type="component-routing-type" default="PASS" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| how should the routing-type on the bridged messages be set? |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="concurrency" type="xsd:int" default="1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Number of concurrent workers, more workers can help increase throughput on high latency networks. |
| Defaults to 1 |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:choice> |
| <xsd:element name="static-connectors" maxOccurs="1" minOccurs="1"> |
| <xsd:complexType> |
| <xsd:sequence> |
| <xsd:element name="connector-ref" type="xsd:string" maxOccurs="unbounded" minOccurs="1"/> |
| </xsd:sequence> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| <xsd:element name="discovery-group-ref" maxOccurs="1" minOccurs="1"> |
| <xsd:complexType> |
| <xsd:attribute name="discovery-group-name" type="xsd:IDREF" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| name of discovery group used by this bridge |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| </xsd:choice> |
| </xsd:sequence> |
| |
| <xsd:attribute name="name" type="xsd:ID" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| unique name for this bridge |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <!-- FEDERATION CONFIGURATION --> |
| <xsd:complexType name="federationType"> |
| <xsd:sequence> |
| <xsd:element name="upstream" type="upstreamType" minOccurs="0" maxOccurs="unbounded" /> |
| <xsd:element name="downstream" type="downstreamType" minOccurs="0" maxOccurs="unbounded" /> |
| <xsd:element name="policy-set" type="policySetType" minOccurs="0" maxOccurs="unbounded" /> |
| <xsd:element name="queue-policy" type="queuePolicyType" minOccurs="0" maxOccurs="unbounded" /> |
| <xsd:element name="address-policy" type="addressPolicyType" minOccurs="0" maxOccurs="unbounded" /> |
| <xsd:element name="transformer" type="federationTransformerType" minOccurs="0" maxOccurs="unbounded" /> |
| </xsd:sequence> |
| <xsd:attribute name="name" type="xsd:ID" use="required" /> |
| <xsd:attribute name="user" type="xsd:string" use="optional" /> |
| <xsd:attribute name="password" type="xsd:string" use="optional" /> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="downstreamType"> |
| <xsd:complexContent> |
| <xsd:extension base="streamType"> |
| <xsd:sequence> |
| <xsd:element name="upstream-connector-ref" type="xsd:string" maxOccurs="1" minOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Name of the transport connector reference to use for the new upstream connection |
| back to this broker. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:sequence> |
| </xsd:extension> |
| </xsd:complexContent> |
| </xsd:complexType> |
| |
| <xsd:complexType name="upstreamType"> |
| <xsd:complexContent> |
| <xsd:extension base="streamType"/> |
| </xsd:complexContent> |
| </xsd:complexType> |
| |
| <xsd:complexType name="streamType"> |
| <xsd:sequence> |
| |
| <xsd:element name="ha" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| whether this connection supports fail-over |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="circuit-breaker-timeout" type="xsd:long" default="30000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| whether this connection supports fail-over |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="share-connection" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| if there is a downstream and upstream connection configured for the same broker then |
| the same connection will be shared as long as both stream configs set this flag to true |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="connection-ttl" type="xsd:long" default="60000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| how long to keep a connection alive in the absence of any data arriving from the client |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="call-timeout" type="xsd:long" default="30000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How long to wait for a reply |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="retry-interval" type="xsd:long" default="500" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| period (in ms) between successive retries |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="retry-interval-multiplier" type="xsd:double" default="1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| multiplier to apply to the retry-interval |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="max-retry-interval" type="xsd:long" default="2000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Maximum value for retry-interval |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="initial-connect-attempts" type="xsd:int" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How many attempts should be made to connect initially |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="reconnect-attempts" type="xsd:int" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How many attempts should be made to reconnect after failure |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="check-period" type="xsd:long" default="30000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The period (in milliseconds) used to check if the federation connection has failed to receive pings from |
| another server |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="call-failover-timeout" type="xsd:long" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How long to wait for a reply if in the middle of a fail-over. -1 means wait forever. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:choice> |
| <xsd:element name="static-connectors" maxOccurs="1" minOccurs="1"> |
| <xsd:complexType> |
| <xsd:sequence> |
| <xsd:element name="connector-ref" type="xsd:string" maxOccurs="unbounded" minOccurs="1"/> |
| </xsd:sequence> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| <xsd:element name="discovery-group-ref" maxOccurs="1" minOccurs="1"> |
| <xsd:complexType> |
| <xsd:attribute name="discovery-group-name" type="xsd:IDREF" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| name of discovery group used by this connection |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| </xsd:choice> |
| <xsd:element name="policy" type="policyRefType" minOccurs="0" maxOccurs="unbounded"/> |
| </xsd:sequence> |
| <xsd:attribute name="priority-adjustment" type="xsd:int" use="optional" /> |
| <xsd:attribute name="user" type="xsd:string" use="optional"> |
| <xsd:annotation> |
| <xsd:documentation> |
| username, if unspecified the federated user is used |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="password" type="xsd:string" use="optional"> |
| <xsd:annotation> |
| <xsd:documentation> |
| password, if unspecified the federated password is used |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="name" type="xsd:ID" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| unique name for this upstream |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| |
| <xsd:complexType name="policySetType"> |
| <xsd:sequence> |
| <xsd:element name="policy" type="policyRefType" minOccurs="0" maxOccurs="unbounded" /> |
| </xsd:sequence> |
| <xsd:attribute name="name" type="xsd:ID" use="required" /> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| |
| <xsd:complexType name="policyRefType"> |
| <xsd:attribute name="ref" type="xsd:string" use="required" /> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| |
| <xsd:complexType name="queuePolicyType"> |
| <xsd:sequence> |
| <xsd:element name="include" type="queueMatchType" minOccurs="0" maxOccurs="unbounded"/> |
| <xsd:element name="exclude" type="queueMatchType" minOccurs="0" maxOccurs="unbounded"/> |
| </xsd:sequence> |
| <xsd:attribute name="transformer-ref" type="xsd:string" use="optional" /> |
| <xsd:attribute name="priority-adjustment" type="xsd:int" use="optional" /> |
| <xsd:attribute name="include-federated" type="xsd:boolean" use="optional" /> |
| <xsd:attribute name="name" type="xsd:ID" use="required" /> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="queueMatchType"> |
| <xsd:attribute name="queue-match" type="xsd:string" use="required" /> |
| <xsd:attribute name="address-match" type="xsd:string" use="required" /> |
| <xsd:attributeGroup ref="xml:specialAttrs" /> |
| </xsd:complexType> |
| |
| |
| <xsd:complexType name="addressPolicyType"> |
| <xsd:sequence> |
| <xsd:element name="include" type="addressMatchType" minOccurs="0" maxOccurs="unbounded"/> |
| <xsd:element name="exclude" type="addressMatchType" minOccurs="0" maxOccurs="unbounded"/> |
| </xsd:sequence> |
| <xsd:attribute name="transformer-ref" type="xsd:string" use="optional" /> |
| <xsd:attribute name="auto-delete" type="xsd:boolean" use="optional" /> |
| <xsd:attribute name="auto-delete-delay" type="xsd:long" use="optional" /> |
| <xsd:attribute name="auto-delete-message-count" type="xsd:long" use="optional" /> |
| <xsd:attribute name="max-hops" type="xsd:int" use="optional" /> |
| <xsd:attribute name="name" type="xsd:ID" use="required" /> |
| <xsd:attribute name="enable-divert-bindings" type="xsd:boolean" use="optional" /> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="addressMatchType"> |
| <xsd:attribute name="address-match" type="xsd:string" use="required" /> |
| <xsd:attributeGroup ref="xml:specialAttrs" /> |
| </xsd:complexType> |
| |
| <xsd:complexType name="federationTransformerType"> |
| <xsd:sequence> |
| <xsd:element name="class-name" type="xsd:string" maxOccurs="1" minOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| optional name of transformer class |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element ref="property" maxOccurs="unbounded" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| properties to configure the transformer class |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:sequence> |
| <xsd:attribute name="name" type="xsd:ID" use="required" /> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <!-- TRANSFORMER CONFIGURATION --> |
| <xsd:complexType name="transformerType"> |
| <xsd:sequence> |
| <xsd:element name="class-name" type="xsd:string" maxOccurs="1" minOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| optional name of transformer class |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element ref="property" maxOccurs="unbounded" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| properties to configure the transformer class |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:sequence> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:element name="property"> |
| <xsd:complexType> |
| <xsd:attribute name="key" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| key for the property |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="value" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| value for the property |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| |
| |
| <!-- CLUSTER CONNECTION CONFIGURATION --> |
| |
| <xsd:complexType name="clusterConnectionChoiceType"> |
| <xsd:sequence> |
| <xsd:choice maxOccurs="unbounded"> |
| <xsd:element name="cluster-connection-uri" type="cluster-connectionUriType"/> |
| <xsd:element name="cluster-connection" type="cluster-connectionType"> |
| </xsd:element> |
| </xsd:choice> |
| </xsd:sequence> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="brokerConnectType"> |
| <xsd:sequence maxOccurs="unbounded"> |
| <xsd:element name="amqp-connection" type="amqp-connectionUriType"/> |
| </xsd:sequence> |
| </xsd:complexType> |
| |
| <xsd:complexType name="amqp-connectionUriType"> |
| <xsd:sequence> |
| <xsd:choice maxOccurs="unbounded"> |
| <xsd:element name="sender" type="amqp-address-match-type"/> |
| <xsd:element name="receiver" type="amqp-address-match-type"/> |
| <xsd:element name="peer" type="amqp-address-match-type"/> |
| <xsd:element name="mirror" type="amqp-mirror-type"/> |
| </xsd:choice> |
| </xsd:sequence> |
| <xsd:attribute name="uri" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| uri of the amqp connection |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="auto-start" type="xsd:boolean" default="true"> |
| <xsd:annotation> |
| <xsd:documentation> |
| should the broker connection be started when the server is started. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="reconnect-attempts" type="xsd:int" default="-1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How many attempts should be made to reconnect after failure |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="retry-interval" type="xsd:long" default="5000"> |
| <xsd:annotation> |
| <xsd:documentation> |
| period (in ms) between successive retries |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="user" type="xsd:string" default=""> |
| <xsd:annotation> |
| <xsd:documentation> |
| User name used to connect. If not defined it will try an anonymous connection. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="password" type="xsd:string" default=""> |
| <xsd:annotation> |
| <xsd:documentation> |
| Password used to connect. If not defined it will try an anonymous connection. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| |
| <xsd:attribute name="name" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| name of the amqp connection |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="amqp-address-match-type"> |
| <xsd:attribute name="address-match" type="xsd:string" use="optional"> |
| <xsd:annotation> |
| <xsd:documentation> |
| address expression to match addresses |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="queue-name" type="xsd:string" use="optional"> |
| <xsd:annotation> |
| <xsd:documentation> |
| This is the exact queue name to be used. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| </xsd:complexType> |
| <xsd:complexType name="amqp-mirror-type"> |
| <xsd:annotation> |
| <xsd:documentation> |
| This will determine that queues are mirrored towards this next broker. |
| All events will be send towards this AMQP connection acting like a replica. |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:attribute name="message-acknowledgements" type="xsd:boolean" use="optional" default="true"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Should mirror acknowledgements towards the other server |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="queue-creation" type="xsd:boolean" use="optional" default="true"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Should mirror queue creation events for addresses and queues. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="queue-removal" type="xsd:boolean" use="optional" default="true"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Should mirror queue deletion events for addresses and queues. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="durable" type="xsd:boolean" use="optional" default="true"> |
| <xsd:annotation> |
| <xsd:documentation> |
| This property will determine if the mirror will use a durable queue or not as a Store and Forward Queue. |
| This is true by default. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| |
| </xsd:complexType> |
| |
| <xsd:complexType name="cluster-connectionUriType"> |
| <xsd:attribute name="address" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| uri of the cluster connection |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="name" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| name of the cluster connection |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="cluster-connectionType"> |
| <xsd:sequence> |
| <xsd:element name="address" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| name of the address this cluster connection applies to |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="connector-ref" type="xsd:string" maxOccurs="1" minOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Name of the connector reference to use. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="check-period" type="xsd:long" default="30000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The period (in milliseconds) used to check if the cluster connection has failed to receive pings from |
| another server |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="connection-ttl" type="xsd:long" default="60000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| how long to keep a connection alive in the absence of any data arriving from the client |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="min-large-message-size" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Messages larger than this are considered large-messages. Supports byte notation like |
| "K", "Mb", "GB", etc. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="call-timeout" type="xsd:long" default="30000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How long to wait for a reply |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="retry-interval" type="xsd:long" default="500" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| period (in ms) between successive retries |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="retry-interval-multiplier" type="xsd:double" default="1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| multiplier to apply to the retry-interval |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="max-retry-interval" type="xsd:long" default="2000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Maximum value for retry-interval |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="initial-connect-attempts" type="xsd:int" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How many attempts should be made to connect initially |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="reconnect-attempts" type="xsd:int" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How many attempts should be made to reconnect after failure |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="use-duplicate-detection" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| should duplicate detection headers be inserted in forwarded messages? |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="forward-when-no-consumers" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| DEPRECATED: use message-load-balancing-type instead. Select STRICT to mimic |
| forward-when-no-consumers=true and ON_DEMAND to mimic forward-when-no-consumers=false. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="message-load-balancing" default="ON_DEMAND" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| how should messages be load balanced between servers in a cluster? |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleType> |
| <xsd:restriction base="xsd:string"> |
| <xsd:enumeration value="OFF"/> |
| <xsd:enumeration value="STRICT"/> |
| <xsd:enumeration value="ON_DEMAND"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| </xsd:element> |
| |
| <xsd:element name="max-hops" type="xsd:int" default="1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| maximum number of hops cluster topology is propagated |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="confirmation-window-size" type="xsd:string" default="1048576" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The size (in bytes) of the window used for confirming data from the server connected to. Supports |
| byte notation like "K", "Mb", "GB", etc. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="producer-window-size" type="xsd:string" maxOccurs="1" minOccurs="0" default="-1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Producer flow control. Supports byte notation like "K", "Mb", "GB", etc. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="call-failover-timeout" type="xsd:long" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How long to wait for a reply if in the middle of a fail-over. -1 means wait forever. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="notification-interval" type="xsd:long" default="1000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| how often the cluster connection will notify the cluster of its existence right after joining the |
| cluster |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="notification-attempts" type="xsd:int" default="2" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| how many times this cluster connection will notify the cluster of its existence right after joining |
| the cluster |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="scale-down-connector" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The connector to use for scaling down or when as backup in SCALE_DOWN mode |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:choice> |
| <xsd:element name="static-connectors" maxOccurs="1" minOccurs="0"> |
| <xsd:complexType> |
| <xsd:sequence> |
| <xsd:element name="connector-ref" type="xsd:string" maxOccurs="unbounded" minOccurs="0"/> |
| </xsd:sequence> |
| <xsd:attribute name="allow-direct-connections-only" default="false" type="xsd:boolean" use="optional"> |
| <xsd:annotation> |
| <xsd:documentation> |
| restricts cluster connections to the listed connector-ref's |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| <xsd:element name="discovery-group-ref" maxOccurs="1" minOccurs="0"> |
| <xsd:complexType> |
| <xsd:attribute name="discovery-group-name" type="xsd:IDREF" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| name of discovery group used by this cluster-connection |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| </xsd:choice> |
| </xsd:sequence> |
| <xsd:attribute name="name" type="xsd:ID" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| unique name for this cluster connection |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="uri" type="xsd:string" use="optional"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The URI for the cluster connection options |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| |
| <xsd:complexType name="cluster-connection-uri-type"> |
| <xsd:attribute name="name" type="xsd:ID" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| unique name for this cluster connection |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="uri" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The URI for the cluster connection options |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <!-- DIVERT CONFIGURATION TYPE --> |
| <xsd:complexType name="divertType"> |
| <xsd:all> |
| <xsd:element name="transformer-class-name" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| an optional class name of a transformer |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="transformer" type="transformerType" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| optional transformer configuration |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="exclusive" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| whether this is an exclusive divert |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="routing-name" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the routing name for the divert |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="address" type="xsd:string" maxOccurs="1" minOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the address this divert will divert from |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="forwarding-address" type="xsd:string" maxOccurs="1" minOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the forwarding address for the divert |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element ref="filter" maxOccurs="1" minOccurs="0"/> |
| |
| <xsd:element name="routing-type" type="component-routing-type" default="STRIP" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| how should the routing-type on the diverted messages be set? |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:all> |
| |
| <xsd:attribute name="name" type="xsd:ID" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| a unique name for the divert |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="storeType"> |
| <xsd:choice> |
| <xsd:element name="file-store" type="fileStoreType" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Use a file based store for persisting journal, paging and large messages |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="database-store" type="databaseStoreType" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Use a database for persisting journal, paging and large messages |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:choice> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="fileStoreType"> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="databaseStoreType"> |
| <xsd:all> |
| <xsd:element name="jdbc-driver-class-name" type="xsd:string" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The JDBC Driver class name |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="jdbc-connection-url" type="xsd:string" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The JDBC Connection URL e.g. jdbc:mysql://localhost:3306/ |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="jdbc-user" type="xsd:string" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The JDBC User to use for connecting to the database, NB this will only work with drivers where support |
| DriverManager.getConnection(String url, String user, String password). This can be encrypted. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="jdbc-password" type="xsd:string" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The JDBC Password to use for connecting to the database, NB this will only work with drivers where support |
| DriverManager.getConnection(String url, String user, String password). This can be encrypted. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="data-source-class-name" type="xsd:string" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The DataSource class name |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="data-source-properties" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| A list of options for the DataSource |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:complexType> |
| <xsd:sequence> |
| <xsd:element name="data-source-property" type="dataSourcePropertyType" minOccurs="1" maxOccurs="unbounded"> |
| <xsd:annotation> |
| <xsd:documentation> |
| A key-value pair option for the DataSource |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:sequence> |
| </xsd:complexType> |
| </xsd:element> |
| <xsd:element name="message-table-name" type="xsd:string" minOccurs="1" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The table name used to store message journal entries |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="bindings-table-name" type="xsd:string" minOccurs="1" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The table name used to store bindings journal entries |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="large-message-table-name" type="xsd:string" minOccurs="1" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The table name used to large message files |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="page-store-table-name" type="xsd:string" minOccurs="1" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The table name used to large message files |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="node-manager-store-table-name" type="xsd:string" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The table name used to hold shared store data |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="jdbc-network-timeout" type="xsd:int" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The JDBC network connection timeout in milliseconds. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="jdbc-lock-renew-period" type="xsd:int" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The period in milliseconds of the keep alive service of a JDBC lock. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="jdbc-lock-expiration" type="xsd:int" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The time in milliseconds a JDBC lock is considered valid without keeping it alive. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="jdbc-journal-sync-period" type="xsd:string" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The JDBC jouranl sync period in milliseconds. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:all> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="dataSourcePropertyType"> |
| <xsd:attribute name="key" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Configuration option key |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="value" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Configuration option value |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| </xsd:complexType> |
| |
| <xsd:complexType name="haPolicyType"> |
| <xsd:choice> |
| <xsd:element name="live-only" type="haLiveOnlyPolicyType" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| A live only server with no HA capabilities apart from scale down. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="replication" type="haReplicationType" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Configuration for a replicated server, either master, slave or colocated. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="shared-store" type="haSharedStoreType" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Configuration for a shared store server, either master, slave or colocated. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:choice> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="haReplicationType"> |
| <xsd:choice> |
| <xsd:element name="master" type="replicatedPolicyType" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| A live server configured to replicate. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="slave" type="replicaPolicyType" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| A backup server configured to replicate. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="colocated" type="haColocationReplicationType" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| a replicated lives server that will allow requests to create colocated replicated backup servers. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:choice> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| |
| <xsd:complexType name="haColocationReplicationType"> |
| <xsd:all> |
| <xsd:element name="request-backup" type="xsd:boolean" minOccurs="0" maxOccurs="1" default="false"> |
| <xsd:annotation> |
| <xsd:documentation> |
| If true then the server will request a backup on another node |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="backup-request-retries" type="xsd:int" minOccurs="0" maxOccurs="1" default="-1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How many times the live server will try to request a backup, -1 means for ever. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="backup-request-retry-interval" type="xsd:long" minOccurs="0" maxOccurs="1" default="5000"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How long to wait for retries between attempts to request a backup server. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="max-backups" type="xsd:int" minOccurs="0" maxOccurs="1" default="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Whether or not this live server will accept backup requests from other live servers. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="backup-port-offset" type="xsd:int" minOccurs="0" maxOccurs="1" default="100"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The offset to use for the Connectors and Acceptors when creating a new backup server. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="excludes" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the connectors that shouldn't have their ports offset, typically remote connectors or the |
| connector used in the cluster connection if scaling down |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:complexType> |
| <xsd:sequence> |
| <xsd:element name="connector-ref" type="xsd:string" maxOccurs="unbounded" minOccurs="1"/> |
| </xsd:sequence> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| <xsd:element name="master" type="replicatedPolicyType" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The configuration for the live replicated server. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="slave" type="replicaPolicyType" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The configuration for any slaves created. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:all> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="haColocationSharedStoreType"> |
| <xsd:all> |
| <xsd:element name="request-backup" type="xsd:boolean" minOccurs="0" maxOccurs="1" default="false"> |
| <xsd:annotation> |
| <xsd:documentation> |
| If true then the server will request a backup on another node |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="backup-request-retries" type="xsd:int" minOccurs="0" maxOccurs="1" default="-1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How many times the live server will try to request a backup, -1 means for ever. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="backup-request-retry-interval" type="xsd:long" minOccurs="0" maxOccurs="1" default="5000"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How long to wait for retries between attempts to request a backup server. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="max-backups" type="xsd:int" minOccurs="0" maxOccurs="1" default="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Whether or not this live server will accept backup requests from other live servers. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="backup-port-offset" type="xsd:int" minOccurs="0" maxOccurs="1" default="100"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The offset to use for the Connectors and Acceptors when creating a new backup server. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="master" type="sharedStoreMasterPolicyType" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The configuration for the live shared store server. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="slave" type="sharedStoreSlavePolicyType" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The configuration for any shared store backups created. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:all> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="haSharedStoreType"> |
| <xsd:choice> |
| <xsd:element name="master" type="sharedStoreMasterPolicyType" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| A shared store live server configuration. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="slave" type="sharedStoreSlavePolicyType" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| A shared store backup server configuration. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="colocated" type="haColocationSharedStoreType" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| A shared store colocated configuration |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:choice> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="haLiveOnlyPolicyType"> |
| <xsd:all> |
| <xsd:element name="scale-down" type="scaleDownType" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The scale down configuration of this live server. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:all> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| <xsd:complexType name="replicatedPolicyType"> |
| <xsd:all> |
| <xsd:element name="group-name" type="xsd:string" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| used for replication, if set, (remote) backup servers will only pair with live servers with matching |
| group-name |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="cluster-name" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Name of the cluster configuration to use for replication. This setting is only necessary in case you |
| configure multiple cluster connections. It is used by a replicating backups and by live servers that |
| may attempt fail-back. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="check-for-live-server" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Whether to check the cluster for a (live) server using our own server ID when starting |
| up. This option is only necessary for performing 'fail-back' on replicating |
| servers. Strictly speaking this setting only applies to live servers and not to |
| backups. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="initial-replication-sync-timeout" type="xsd:long" default="30000" maxOccurs="1" |
| minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The amount of time to wait for the replica to acknowledge it has received all the necessary data from |
| the replicating server at the final step of the initial replication synchronization process. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="vote-on-replication-failure" type="xsd:boolean" default="false" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Whether or not this live broker should vote to remain as live if replication is lost. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="quorum-size" type="xsd:integer" default="-1" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The quorum size used for voting after replication loss, -1 means use the current cluster size |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="vote-retries" type="xsd:integer" default="12" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| If we start as a replica and lose connection to the master, how many times should we attempt to vote |
| for quorum before restarting |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="vote-retry-wait" type="xsd:long" default="5000" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How long to wait (in milliseconds) between each vote |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="quorum-vote-wait" type="xsd:integer" default="30" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How long to wait (in seconds) for vote results |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="retry-replication-wait" type="xsd:long" default="2000" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| If we start as a replica how long to wait (in milliseconds) before trying to replicate again after failing to find a replica |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:all> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| <xsd:complexType name="replicaPolicyType"> |
| <xsd:all> |
| <xsd:element name="group-name" type="xsd:string" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| used for replication, if set, (remote) backup servers will only pair with live servers with matching |
| group-name |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="cluster-name" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Name of the cluster configuration to use for replication. This setting is only necessary in case you |
| configure multiple cluster connections. It is used by a replicating backups and by live servers that |
| may attempt fail-back. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="max-saved-replicated-journals-size" type="xsd:int" default="2" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| This specifies how many times a replicated backup server can restart after moving its files on start. |
| Once there are this number of backup journal files the server will stop permanently after if fails |
| back. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="scale-down" type="scaleDownType" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| if provided then this backup will scale down rather than becoming live after fail over. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="restart-backup" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Will this server, if a backup, restart once it has been stopped because of failback or scaling down. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="allow-failback" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Whether a server will automatically stop when a another places a request to take over |
| its place. The use case is when a regular server stops and its backup takes over its |
| duties, later the main server restarts and requests the server (the former backup) to |
| stop operating. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="failback-delay" type="xsd:long" default="5000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| DEPRECATED: if we have to start as a replicated server this is the delay to wait before fail-back |
| occurs |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="initial-replication-sync-timeout" type="xsd:long" default="30000" maxOccurs="1" |
| minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| If we have to start as a replicated server this is the amount of time to wait for the replica to |
| acknowledge it has received all the necessary data from the replicating server at the final step |
| of the initial replication synchronization process. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="vote-on-replication-failure" type="xsd:boolean" default="false" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| If we have to start as a replicated server decide whether or not this live broker should vote to remain |
| as live if replication is lost. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="quorum-size" type="xsd:integer" default="-1" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| If we have to start as a replicated server or we are a backup and lose connection to live, the quorum size |
| used for voting after replication loss, -1 means use the current cluster size |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="vote-retries" type="xsd:integer" default="12" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| If we lose connection to the master, how many times should we attempt to vote for quorum before restarting |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="vote-retry-wait" type="xsd:long" default="5000" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How long to wait (in milliseconds) between each vote |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="retry-replication-wait" type="xsd:long" default="2000" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How long to wait (in milliseconds) before trying to replicate again after failing to find a replica |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="quorum-vote-wait" type="xsd:integer" default="30" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How long to wait (in seconds) for vote results |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:all> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| <xsd:complexType name="colocatedReplicaPolicyType"> |
| <xsd:all> |
| <xsd:element name="group-name" type="xsd:string" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| used for replication, if set, (remote) backup servers will only pair with live servers with matching |
| group-name |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="cluster-name" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Name of the cluster configuration to use for replication. This setting is only necessary in case you |
| configure multiple cluster connections. It is used by a replicating backups and by live servers that |
| may attempt fail-back. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="max-saved-replicated-journals-size" type="xsd:int" default="2" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| This specifies how many times a replicated backup server can restart after moving its files on start. |
| Once there are this number of backup journal files the server will stop permanently after if fails |
| back. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="scale-down" type="scaleDownType" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| if provided then this backup will scale down rather than becoming live after fail over. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="restart-backup" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Will this server, if a backup, restart once it has been stopped because of failback or scaling down. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:all> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| <xsd:complexType name="sharedStoreMasterPolicyType"> |
| <xsd:all> |
| <xsd:element name="failback-delay" type="xsd:long" default="5000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| DEPRECATED: delay to wait before fail-back occurs on (live's) restart |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="failover-on-shutdown" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Will this backup server come live on a normal server shutdown |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="wait-for-activation" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Will the master startup wait until it is activated |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:all> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| <xsd:complexType name="sharedStoreSlavePolicyType"> |
| <xsd:all> |
| <xsd:element name="allow-failback" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Whether a server will automatically stop when a another places a request to take over |
| its place. The use case is when a regular server stops and its backup takes over its |
| duties, later the main server restarts and requests the server (the former backup) to |
| stop operating. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="failback-delay" type="xsd:long" default="5000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| DEPRECATED: delay to wait before fail-back occurs on (live's) restart |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="failover-on-shutdown" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Will this backup server come live on a normal server shutdown |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="scale-down" type="scaleDownType" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| if provided then this backup will scale down rather than becoming live after fail over. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="restart-backup" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Will this server, if a backup, restart once it has been stopped because of failback or scaling down. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:all> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| <xsd:complexType name="colocatedPolicyType"> |
| <xsd:all> |
| <xsd:element name="request-backup" type="xsd:boolean" minOccurs="0" maxOccurs="1" default="false"> |
| <xsd:annotation> |
| <xsd:documentation> |
| If true then the server will request a backup on another node |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="backup-request-retries" type="xsd:int" minOccurs="0" maxOccurs="1" default="-1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How many times the live server will try to request a backup, -1 means for ever. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="backup-request-retry-interval" type="xsd:long" minOccurs="0" maxOccurs="1" default="5000"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How long to wait for retries between attempts to request a backup server. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="max-backups" type="xsd:int" minOccurs="0" maxOccurs="1" default="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Whether or not this live server will accept backup requests from other live servers. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="backup-port-offset" type="xsd:int" minOccurs="0" maxOccurs="1" default="100"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The offset to use for the Connectors and Acceptors when creating a new backup server. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:all> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| <xsd:complexType name="scaleDownType"> |
| <xsd:sequence> |
| <xsd:element name="enabled" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| its possible that you only want a server to partake in scale down as a receiver, via a group. |
| In this case set scale-down to false |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="group-name" type="xsd:string" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The scale down group to scale down to, a server will only scale down to a server within the same group |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:choice> |
| <xsd:element name="discovery-group-ref" maxOccurs="1" minOccurs="0"> |
| <xsd:complexType> |
| <xsd:attribute name="discovery-group-name" type="xsd:IDREF" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The discovery group to use for scale down, if not supplied then the scale-down-connectors or |
| first |
| invm connector will be used |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| <xsd:element name="connectors" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| A list of connectors to use for scaling down, if not supplied then the scale-down-discovery-group |
| or |
| first invm connector will be used |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:complexType> |
| <xsd:sequence> |
| <xsd:element name="connector-ref" type="xsd:string" maxOccurs="unbounded" minOccurs="1"/> |
| </xsd:sequence> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| </xsd:choice> |
| </xsd:sequence> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="groupingHandlerType"> |
| <xsd:all> |
| <xsd:element name="type" maxOccurs="1" minOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Each cluster should choose 1 node to have a LOCAL grouping handler and all the other nodes should have |
| REMOTE handlers |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleType> |
| <xsd:restriction base="xsd:string"> |
| <xsd:enumeration value="LOCAL"/> |
| <xsd:enumeration value="REMOTE"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| </xsd:element> |
| <xsd:element name="address" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| A reference to a cluster connection address |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="timeout" type="xsd:int" default="5000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How long to wait for a decision |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="group-timeout" type="xsd:int" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How long a group binding will be used, -1 means for ever. Bindings are removed after this wait |
| elapses. On the remote node this is used to determine how often you should re-query the main |
| coordinator in order to update the last time used accordingly. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="reaper-period" type="xsd:long" default="30000" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How often the reaper will be run to check for timed out group bindings. Only valid for LOCAL handlers |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:all> |
| <xsd:attribute name="name" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| A name identifying this grouping-handler |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:element name="address-setting"> |
| <xsd:complexType> |
| <xsd:annotation> |
| <xsd:documentation> |
| Complex type element to configure an address. |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:all> |
| <xsd:element name="dead-letter-address" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the address to send dead messages to |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="auto-create-dead-letter-resources" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| 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 |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="dead-letter-queue-prefix" type="xsd:string" default="DLQ." maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the prefix to use for auto-created dead letter queues |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="dead-letter-queue-suffix" type="xsd:string" default="" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the suffix to use for auto-created dead letter queues |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="expiry-address" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the address to send expired messages to |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="auto-create-expiry-resources" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| 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 |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="expiry-queue-prefix" type="xsd:string" default="EXP." maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the prefix to use for auto-created expiry queues |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="expiry-queue-suffix" type="xsd:string" default="" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the suffix to use for auto-created expiry queues |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="expiry-delay" type="xsd:long" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Overrides the expiration time for messages using the default value for expiration time. "-1" |
| disables this setting. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="min-expiry-delay" type="xsd:long" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Overrides the expiration time for messages using a lower value. "-1" disables this setting. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="max-expiry-delay" type="xsd:long" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Overrides the expiration time for messages using a higher value. "-1" disables this setting. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="redelivery-delay" type="xsd:long" default="0" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the time (in ms) to wait before redelivering a cancelled message. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="redelivery-delay-multiplier" type="xsd:double" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| multiplier to apply to the "redelivery-delay" |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="redelivery-collision-avoidance-factor" type="xsd:double" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| factor by which to modify the redelivery delay slightly to avoid collisions |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="max-redelivery-delay" type="xsd:long" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Maximum value for the redelivery-delay |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="max-delivery-attempts" type="xsd:int" default="10" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| how many times to attempt to deliver a message before sending to dead letter address |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="max-size-bytes" type="xsd:string" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the maximum size (in bytes) for an address (-1 means no limits). This is used in PAGING, BLOCK and |
| FAIL policies. Supports byte notation like "K", "Mb", "GB", etc. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="max-size-bytes-reject-threshold" type="xsd:long" default="-1" maxOccurs="1" |
| minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| 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). |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="page-size-bytes" type="xsd:string" default="10485760" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The page size (in bytes) to use for an address. Supports byte notation like "K", "Mb", |
| "GB", etc. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="page-max-cache-size" default="5" type="xsd:int" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Number of paging files to cache in memory to avoid IO during paging navigation |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="address-full-policy" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| what happens when an address where "max-size-bytes" is specified becomes full |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleType> |
| <xsd:restriction base="xsd:string"> |
| <xsd:enumeration value="DROP"/> |
| <xsd:enumeration value="FAIL"/> |
| <xsd:enumeration value="PAGE"/> |
| <xsd:enumeration value="BLOCK"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| </xsd:element> |
| |
| <xsd:element name="message-counter-history-day-limit" type="xsd:int" default="0" maxOccurs="1" |
| minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| how many days to keep message counter history for this address |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="last-value-queue" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| This is deprecated please use default-last-value-queue instead. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="default-last-value-queue" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| whether to treat the queues under the address as a last value queues by default |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="default-last-value-key" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the property to use as the key for a last value queue by default |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="default-non-destructive" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| whether the queue should be non-destructive by default |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="default-exclusive-queue" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| whether to treat the queues under the address as exclusive queues by default |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="default-group-rebalance" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| whether to rebalance groups when a consumer is added |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="default-group-rebalance-pause-dispatch" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| whether to pause dispatch when rebalancing groups |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="default-group-buckets" type="xsd:int" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| number of buckets to use for grouping, -1 (default) is unlimited and uses the raw group, 0 disables message groups. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="default-group-first-key" type="xsd:string" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| key used to mark a message is first in a group for a consumer |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="default-consumers-before-dispatch" type="xsd:int" default="0" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the default number of consumers needed before dispatch can start for queues under the address. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="default-delay-before-dispatch" type="xsd:long" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the default delay (in milliseconds) to wait before dispatching if number of consumers before |
| dispatch is not met for queues under the address. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="redistribution-delay" type="xsd:long" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| how long (in ms) to wait after the last consumer is closed on a queue before redistributing |
| messages. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="send-to-dla-on-no-route" type="xsd:boolean" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| if there are no queues matching this address, whether to forward message to DLA (if it exists for |
| this address) |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="slow-consumer-threshold" type="xsd:long" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| 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 |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="slow-consumer-threshold-measurement-unit" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The units used to measure the slow consumer threshold. Default is messages-per-second. |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleType> |
| <xsd:restriction base="xsd:string"> |
| <xsd:enumeration value="MESSAGES_PER_SECOND"/> |
| <xsd:enumeration value="MESSAGES_PER_MINUTE"/> |
| <xsd:enumeration value="MESSAGES_PER_HOUR"/> |
| <xsd:enumeration value="MESSAGES_PER_DAY"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| </xsd:element> |
| |
| <xsd:element name="slow-consumer-policy" default="NOTIFY" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| what happens when a slow consumer is identified |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleType> |
| <xsd:restriction base="xsd:string"> |
| <xsd:enumeration value="KILL"/> |
| <xsd:enumeration value="NOTIFY"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| </xsd:element> |
| |
| <xsd:element name="slow-consumer-check-period" type="xsd:long" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| How often to check for slow consumers on a particular queue. Measured in seconds. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="auto-create-jms-queues" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| DEPRECATED: whether or not to automatically create JMS queues when a producer sends or a consumer connects to a |
| queue |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="auto-delete-jms-queues" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| DEPRECATED: whether or not to delete auto-created JMS queues when the queue has 0 consumers and 0 messages |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="auto-create-jms-topics" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| DEPRECATED: whether or not to automatically create JMS topics when a producer sends or a consumer subscribes to |
| a topic |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="auto-delete-jms-topics" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| DEPRECATED: whether or not to delete auto-created JMS topics when the last subscription is closed |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="auto-create-queues" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| whether or not to automatically create a queue when a client sends a message to or attempts to consume |
| a message from a queue |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="auto-delete-queues" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| whether or not to delete auto-created queues when the queue has 0 consumers and 0 messages |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="auto-delete-created-queues" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| whether or not to delete created queues when the queue has 0 consumers and 0 messages |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="auto-delete-queues-delay" type="xsd:long" default="0" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| how long to wait (in milliseconds) before deleting auto-created queues after the queue has 0 |
| consumers. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="auto-delete-queues-message-count" type="xsd:long" default="0" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| 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. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="config-delete-queues" default="OFF" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| 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. |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleType> |
| <xsd:restriction base="xsd:string"> |
| <xsd:enumeration value="OFF"/> |
| <xsd:enumeration value="FORCE"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| </xsd:element> |
| |
| <xsd:element name="auto-create-addresses" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| 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 |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="auto-delete-addresses" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| whether or not to delete auto-created addresses when it no longer has any queues |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="auto-delete-addresses-delay" type="xsd:long" default="0" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| how long to wait (in milliseconds) before deleting auto-created addresses after they no longer |
| have any queues |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="config-delete-addresses" default="OFF" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| 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. |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleType> |
| <xsd:restriction base="xsd:string"> |
| <xsd:enumeration value="OFF"/> |
| <xsd:enumeration value="FORCE"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| </xsd:element> |
| |
| <xsd:element name="config-delete-diverts" default="OFF" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| 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. |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleType> |
| <xsd:restriction base="xsd:string"> |
| <xsd:enumeration value="OFF"/> |
| <xsd:enumeration value="FORCE"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| </xsd:element> |
| |
| <xsd:element name="management-browse-page-size" type="xsd:int" default="200" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| how many message a management resource can browse, list or filter |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="management-message-attribute-size-limit" type="xsd:int" default="256" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the size limit of any message attribute value returned from a browse ,list or filter. Attribute values that exceed with be truncated |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="default-purge-on-no-consumers" type="xsd:boolean" default="false" maxOccurs="1" |
| minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| purge the contents of the queue once there are no consumers |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="default-max-consumers" type="xsd:int" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the maximum number of consumers allowed on this queue at any one time |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="default-queue-routing-type" type="routing-type" default="MULTICAST" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the routing-type used on auto-created queues |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="default-address-routing-type" type="routing-type" default="MULTICAST" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the routing-type used on auto-created addresses |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="default-consumer-window-size" type="xsd:int" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the default window size for a consumer |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="default-ring-size" type="xsd:long" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the default ring-size value for any matching queue which doesn't have `ring-size` explicitly |
| defined |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="retroactive-message-count" type="xsd:long" default="0" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the number of messages to preserve for future queues created on the matching address |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="enable-metrics" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| whether or not to enable metrics for metrics plugins on the matching address |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="enable-ingress-timestamp" type="xsd:boolean" default="false" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| whether or not the broker should set its own timestamp on incoming messages to the matching address |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| </xsd:all> |
| |
| <xsd:attribute name="match" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| pattern for matching settings against addresses; can use wildards |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| |
| <xsd:element name="resource-limit-setting"> |
| <xsd:complexType> |
| <xsd:annotation> |
| <xsd:documentation> |
| Complex type element to configure resource limits for a particular user. |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:all> |
| <xsd:element name="max-connections" type="xsd:int" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| how many connections are allowed by the matched user (-1 means no limit, default is -1) |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="max-queues" type="xsd:int" default="-1" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| how many queues can be created by the matched user (-1 means no limit, default is -1) |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:all> |
| |
| <xsd:attribute name="match" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| the name of the user to whom the limits should be applied |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| |
| <xsd:element name="filter"> |
| <xsd:complexType> |
| <xsd:annotation> |
| <xsd:documentation> |
| optional core filter expression (set through attribute) |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:attribute name="string" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| optional core filter expression |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| |
| <xsd:complexType name="connector-serviceType"> |
| <xsd:sequence> |
| <xsd:element maxOccurs="1" minOccurs="1" name="factory-class" type="xsd:string"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Name of the factory class of the ConnectorService |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element maxOccurs="unbounded" minOccurs="0" name="param" type="paramType"/> |
| </xsd:sequence> |
| <xsd:attribute name="name" type="xsd:string" use="optional"> |
| <xsd:annotation> |
| <xsd:documentation> |
| name of the connector service |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="transportType"> |
| <xsd:simpleContent> |
| <xsd:extension base="xsd:string"> |
| <xsd:attribute name="name" type="xsd:string"> |
| </xsd:attribute> |
| </xsd:extension> |
| </xsd:simpleContent> |
| </xsd:complexType> |
| |
| <!-- 2.0 Addressing configuration --> |
| |
| <xsd:simpleType name="routing-type"> |
| <xsd:restriction base="xsd:string"> |
| <xsd:enumeration value="ANYCAST"/> |
| <xsd:enumeration value="MULTICAST"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="component-routing-type"> |
| <xsd:restriction base="xsd:string"> |
| <xsd:enumeration value="ANYCAST"/> |
| <xsd:enumeration value="MULTICAST"/> |
| <xsd:enumeration value="STRIP"/> |
| <xsd:enumeration value="PASS"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| <xsd:complexType name="queueType"> |
| <xsd:all> |
| <xsd:element ref="filter" maxOccurs="1" minOccurs="0"/> |
| <xsd:element name="durable" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0" /> |
| <xsd:element name="user" type="xsd:string" maxOccurs="1" minOccurs="0" /> |
| </xsd:all> |
| <xsd:attribute name="name" type="xsd:string" use="required"/> |
| <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-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:attribute name="ring-size" type="xsd:long" use="optional"/> |
| <xsd:attribute name="enabled" type="xsd:boolean" use="optional"/> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="addressType"> |
| <xsd:all> |
| <xsd:element name="anycast" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| a list of pre configured queues to create |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:complexType> |
| <xsd:sequence> |
| <xsd:element name="queue" type="queueType" maxOccurs="unbounded" minOccurs="0" /> |
| </xsd:sequence> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| <xsd:element name="multicast" maxOccurs="1" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| a list of pre configured queues to create |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:complexType> |
| <xsd:sequence> |
| <xsd:element name="queue" type="queueType" maxOccurs="unbounded" minOccurs="0" /> |
| </xsd:sequence> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| </xsd:element> |
| </xsd:all> |
| <xsd:attribute name="name" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The address name to match incoming message addresses |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="addressesType"> |
| <xsd:sequence> |
| <xsd:element name="address" type="addressType" maxOccurs="unbounded" minOccurs="0"/> |
| </xsd:sequence> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="wildcardType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Complex type element to configure wildcard address format. |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:all> |
| <xsd:element maxOccurs="1" minOccurs="0" name="enabled" type="xsd:boolean"> |
| <xsd:annotation> |
| <xsd:documentation> |
| deprecated please use routing-enabled. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element maxOccurs="1" minOccurs="0" name="routing-enabled" type="xsd:boolean"> |
| <xsd:annotation> |
| <xsd:documentation> |
| is wildcard addresses routing enabled. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element maxOccurs="1" minOccurs="0" name="delimiter" type="xsd:string"> |
| <xsd:annotation> |
| <xsd:documentation> |
| wildcard address parts delimiter. Default '.' |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element maxOccurs="1" minOccurs="0" name="any-words" type="xsd:string"> |
| <xsd:annotation> |
| <xsd:documentation> |
| wildcard address any words character. Default '#' |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element maxOccurs="1" minOccurs="0" name="single-word" type="xsd:string"> |
| <xsd:annotation> |
| <xsd:documentation> |
| wildcard address single word character. Default '*' |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:all> |
| <xsd:attributeGroup ref="xml:specialAttrs"/> |
| </xsd:complexType> |
| |
| </xsd:schema> |