You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2021/04/07 14:55:03 UTC
[activemq-artemis] branch master updated: ARTEMIS-3224 Removing
Artemis-tools migration tool from 1.x address model
This is an automated email from the ASF dual-hosted git repository.
clebertsuconic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git
The following commit(s) were added to refs/heads/master by this push:
new 158a94a ARTEMIS-3224 Removing Artemis-tools migration tool from 1.x address model
158a94a is described below
commit 158a94a8368a822f03a7d5c215acdd1c057e316e
Author: Clebert Suconic <cl...@apache.org>
AuthorDate: Wed Apr 7 09:46:58 2021 -0400
ARTEMIS-3224 Removing Artemis-tools migration tool from 1.x address model
---
artemis-cli/pom.xml | 5 -
.../org/apache/activemq/artemis/cli/Artemis.java | 2 -
.../cli/commands/migration1x/Migrate1X.java | 47 -
artemis-distribution/pom.xml | 5 -
artemis-distribution/src/main/assembly/dep.xml | 1 -
artemis-tools/pom.xml | 60 -
.../artemis/tools/migrate/config/Main.java | 84 -
.../migrate/config/XMLConfigurationMigration.java | 307 --
.../tools/migrate/config/addressing/Address.java | 63 -
.../tools/migrate/config/addressing/Queue.java | 60 -
.../src/main/resources/META-INF/MANIFEST.MF | 2 -
.../config/XMLConfigurationMigrationTest.java | 48 -
.../src/test/resources/artemis-configuration.xsd | 4096 --------------------
.../src/test/resources/artemis-server.xsd | 46 -
artemis-tools/src/test/resources/broker.xml | 76 -
.../src/test/resources/replace/broker.xml | 64 -
.../src/test/resources/replace/broker2.xml | 64 -
pom.xml | 3 -
18 files changed, 5033 deletions(-)
diff --git a/artemis-cli/pom.xml b/artemis-cli/pom.xml
index 0f26f41..e79b32b 100644
--- a/artemis-cli/pom.xml
+++ b/artemis-cli/pom.xml
@@ -70,11 +70,6 @@
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
- <artifactId>artemis-tools</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.activemq</groupId>
<artifactId>artemis-dto</artifactId>
<version>${project.version}</version>
</dependency>
diff --git a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/Artemis.java b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/Artemis.java
index e5b908c..c00e2e6 100644
--- a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/Artemis.java
+++ b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/Artemis.java
@@ -46,7 +46,6 @@ import org.apache.activemq.artemis.cli.commands.address.UpdateAddress;
import org.apache.activemq.artemis.cli.commands.messages.Browse;
import org.apache.activemq.artemis.cli.commands.messages.Consumer;
import org.apache.activemq.artemis.cli.commands.messages.Producer;
-import org.apache.activemq.artemis.cli.commands.migration1x.Migrate1X;
import org.apache.activemq.artemis.cli.commands.queue.CreateQueue;
import org.apache.activemq.artemis.cli.commands.queue.DeleteQueue;
import org.apache.activemq.artemis.cli.commands.queue.HelpQueue;
@@ -177,7 +176,6 @@ public class Artemis {
builder.withGroup("data").withDescription("data tools group (print) (example ./artemis data print)").
withDefaultCommand(HelpData.class).withCommands(PrintData.class);
builder = builder.withCommand(Create.class);
- builder = builder.withCommand(Migrate1X.class);
}
return builder;
diff --git a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/migration1x/Migrate1X.java b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/migration1x/Migrate1X.java
deleted file mode 100644
index 7d04538..0000000
--- a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/migration1x/Migrate1X.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.activemq.artemis.cli.commands.migration1x;
-
-import java.io.File;
-
-import io.airlift.airline.Arguments;
-import io.airlift.airline.Command;
-import org.apache.activemq.artemis.cli.commands.ActionAbstract;
-import org.apache.activemq.artemis.cli.commands.ActionContext;
-import org.apache.activemq.artemis.tools.migrate.config.Main;
-
-@Command(name = "migrate1x", description = "Migrates the configuration of a 1.x Artemis Broker")
-public class Migrate1X extends ActionAbstract {
-
- @Arguments(description = "The instance directory to hold the broker's configuration and data. Path must be writable.", required = true)
- File directory;
-
- @Override
- public Object execute(ActionContext context) throws Exception {
- if (!directory.exists()) {
- throw new RuntimeException(String.format("The path '%s' does not exist.", directory));
- }
- super.execute(context);
- return run(context);
- }
-
- public Object run(ActionContext context) throws Exception {
- Main.scanAndTransform(directory);
- return null;
- }
-
-}
diff --git a/artemis-distribution/pom.xml b/artemis-distribution/pom.xml
index 35292eb..274cb8b 100644
--- a/artemis-distribution/pom.xml
+++ b/artemis-distribution/pom.xml
@@ -134,11 +134,6 @@
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
- <artifactId>artemis-tools</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.activemq</groupId>
<artifactId>artemis-website</artifactId>
<version>${project.version}</version>
</dependency>
diff --git a/artemis-distribution/src/main/assembly/dep.xml b/artemis-distribution/src/main/assembly/dep.xml
index b9b2496..8298c20 100644
--- a/artemis-distribution/src/main/assembly/dep.xml
+++ b/artemis-distribution/src/main/assembly/dep.xml
@@ -65,7 +65,6 @@
<include>org.apache.activemq:artemis-ra</include>
<include>org.apache.activemq:artemis-selector</include>
<include>org.apache.activemq:artemis-server</include>
- <include>org.apache.activemq:artemis-tools</include>
<include>org.apache.activemq:artemis-service-extensions</include>
<include>org.apache.activemq:artemis-web</include>
<include>org.apache.activemq.rest:artemis-rest</include>
diff --git a/artemis-tools/pom.xml b/artemis-tools/pom.xml
deleted file mode 100644
index be1f0f5..0000000
--- a/artemis-tools/pom.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<!--
- 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.activemq</groupId>
- <artifactId>artemis-pom</artifactId>
- <version>2.18.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>artemis-tools</artifactId>
- <packaging>jar</packaging>
- <name>ActiveMQ Artemis Tools</name>
-
- <properties>
- <activemq.basedir>${project.basedir}/..</activemq.basedir>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>com.google.errorprone</groupId>
- <artifactId>error_prone_core</artifactId>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
- </archive>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/artemis-tools/src/main/java/org/apache/activemq/artemis/tools/migrate/config/Main.java b/artemis-tools/src/main/java/org/apache/activemq/artemis/tools/migrate/config/Main.java
deleted file mode 100644
index 692ab9e..0000000
--- a/artemis-tools/src/main/java/org/apache/activemq/artemis/tools/migrate/config/Main.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.activemq.artemis.tools.migrate.config;
-
-import java.io.File;
-
-public class Main {
-
- public static void main(String[] args) throws Exception {
-
- if (args.length == 0) {
- System.err.println("Invalid args");
- printUsage();
- } else {
- File input = new File(args[0]);
- if (input.isDirectory()) {
- System.out.println("Scanning directory: " + input.getAbsolutePath());
- scanAndTransform(input);
- } else {
- if (args.length != 2) {
- System.err.println("Invalid args");
- printUsage();
- } else {
- try {
- XMLConfigurationMigration migration = new XMLConfigurationMigration(input, new File(args[1]));
- migration.transform();
- } catch (Exception e) {
- // Unable to process file, move on.
- }
- }
- }
- }
- }
-
- private static void recursiveTransform(File root) throws Exception {
- for (File file : root.listFiles()) {
- scanAndTransform(file);
- }
- }
-
- public static void scanAndTransform(File f) throws Exception {
- try {
- if (f.isDirectory()) {
- recursiveTransform(f);
- } else {
- try {
- if (f.getName().endsWith("xml")) {
- File file = new File(f.getAbsolutePath() + ".new");
- XMLConfigurationMigration migration = new XMLConfigurationMigration(f, file);
- if (migration.transform()) {
- File r = new File(f.getAbsolutePath());
- f.renameTo(new File(f.getAbsolutePath() + ".bk"));
- file.renameTo(r);
- System.out.println(f + " converted, old file renamed as " + f.getAbsolutePath() + ".bk");
- }
- }
- } catch (Exception e) {
- //Unable to process file, continue
- }
- }
- } catch (NullPointerException e) {
- System.out.println(f.getAbsoluteFile());
- }
- }
-
- public static void printUsage() {
- System.out.println("Please specify a directory to scan, or input and output file");
- }
-
-}
diff --git a/artemis-tools/src/main/java/org/apache/activemq/artemis/tools/migrate/config/XMLConfigurationMigration.java b/artemis-tools/src/main/java/org/apache/activemq/artemis/tools/migrate/config/XMLConfigurationMigration.java
deleted file mode 100644
index 3728fd6..0000000
--- a/artemis-tools/src/main/java/org/apache/activemq/artemis/tools/migrate/config/XMLConfigurationMigration.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.activemq.artemis.tools.migrate.config;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
-import java.io.File;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-import org.apache.activemq.artemis.tools.migrate.config.addressing.Address;
-import org.apache.activemq.artemis.tools.migrate.config.addressing.Queue;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class XMLConfigurationMigration {
-
- // Attributes
- private static final String xPathAttrName = "@name";
-
- // JMS XPaths
- private static final String xPathJMS = "/configuration/jms";
-
- private static final String xPathJMSQueues = "/configuration/jms/queue";
-
- private static final String xPathJMSTopics = "/configuration/jms/topic";
-
- // Core Queue XPaths
- private static final String xPathQueues = "/configuration/core/queues";
-
- private static final String xPathQueue = "/configuration/core/queues/queue";
-
- private static final String xPathAddress = "address";
-
- private static final String xPathFilter = "filter/@string";
-
- private static final String xPathSelector = "selector/@string";
-
- private static final String xPathDurable = "durable";
-
- private final Map<String, Address> coreAddresses = new HashMap<>();
-
- private final Document document;
-
- private final File input;
-
- private final File output;
-
- private final Node coreElement;
-
- private final XPath xPath;
-
- public XMLConfigurationMigration(File input, File output) throws Exception {
-
- this.input = input;
- this.output = output;
-
- try {
- if (!input.exists()) {
- throw new Exception("Input file not found: " + input);
- }
-
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setIgnoringElementContentWhitespace(true);
-
- DocumentBuilder db = factory.newDocumentBuilder();
- this.document = db.parse(this.input);
-
- xPath = XPathFactory.newInstance().newXPath();
- coreElement = (Node) xPath.evaluate("/configuration/core", document, XPathConstants.NODE);
-
- if (coreElement == null) {
- throw new Exception("Not a artemis config");
- }
- } catch (Exception e) {
- throw new Exception(e);
- }
- }
-
- public boolean transform() throws Exception {
- try {
-
- boolean queuesChanged = convertQueuesToAddresses();
- boolean jmsChanged = convertJMSToAddresses();
-
- writeAddressesToDocument();
- document.normalize();
-
- if (queuesChanged || jmsChanged) {
- Properties properties = new Properties();
- properties.put(OutputKeys.INDENT, "yes");
- properties.put("{http://xml.apache.org/xslt}indent-amount", "3");
- properties.put(OutputKeys.ENCODING, "UTF-8");
- write(output, properties);
- return true;
- }
-
- } catch (Exception e) {
- System.err.println("Error tranforming document");
- e.printStackTrace();
- }
- return false;
- }
-
- public boolean convertQueuesToAddresses() throws Exception {
-
- Node coreQueuesElement = getNode(xPathQueues);
- if (coreQueuesElement == null) {
- return false;
- }
-
- NodeList coreQueueElements = getNodeList(xPathQueue);
- for (int i = 0; i < coreQueueElements.getLength(); i++) {
- Node queueNode = coreQueueElements.item(i);
-
- Queue queue = new Queue();
- queue.setName(getString(queueNode, xPathAttrName));
- queue.setDurable(getString(queueNode, xPathDurable));
- queue.setFilter(getString(queueNode, xPathFilter));
- queue.setRoutingType("multicast");
-
- String addressName = getString(queueNode, xPathAddress);
-
- Address address;
- if (coreAddresses.containsKey(addressName)) {
- address = coreAddresses.get(addressName);
- } else {
- address = new Address();
- address.setName(addressName);
- coreAddresses.put(addressName, address);
- }
- address.getQueues().add(queue);
- address.getRoutingTypes().add("multicast");
- }
-
- // Remove Core Queues Element from Core
- Node queues = getNode(xPathQueues);
- if (queues != null) {
- coreElement.removeChild(queues);
- }
-
- return true;
- }
-
- public boolean convertJMSToAddresses() throws Exception {
- Node jmsElement = getNode(xPathJMS);
- if (jmsElement == null) {
- return false;
- }
-
- NodeList jmsQueueElements = getNodeList(xPathJMSQueues);
- for (int i = 0; i < jmsQueueElements.getLength(); i++) {
- Node jmsQueueElement = jmsQueueElements.item(i);
- String name = getString(jmsQueueElement, xPathAttrName);
-
- Address address;
- if (coreAddresses.containsKey(name)) {
- address = coreAddresses.get(name);
- } else {
- address = new Address();
- address.setName(name);
- address.getRoutingTypes().add("anycast");
- coreAddresses.put(name, address);
- }
-
- Queue queue = new Queue();
- queue.setName(name);
- queue.setDurable(getString(jmsQueueElement, xPathDurable));
- queue.setFilter(getString(jmsQueueElement, xPathSelector));
- queue.setRoutingType("anycast");
- address.getQueues().add(queue);
- address.getRoutingTypes().add("anycast");
- }
-
- NodeList jmsTopicElements = getNodeList(xPathJMSTopics);
- for (int i = 0; i < jmsTopicElements.getLength(); i++) {
- Node jmsTopicElement = jmsTopicElements.item(i);
- String name = getString(jmsTopicElement, xPathAttrName);
-
- Address address;
- if (coreAddresses.containsKey(name)) {
- address = coreAddresses.get(name);
- } else {
- address = new Address();
- address.setName(name);
- address.getRoutingTypes().add("multicast");
- coreAddresses.put(name, address);
- }
- address.getRoutingTypes().add("multicast");
- }
-
- jmsElement.getParentNode().removeChild(jmsElement);
- return true;
- }
-
- public void writeAddressesToDocument() throws XPathExpressionException {
-
- Element addressElement = document.createElement("addresses");
- writeAddressListToDoc(coreAddresses.values(), addressElement);
- coreElement.appendChild(addressElement);
- }
-
- private void writeAddressListToDoc(Collection<Address> addresses,
- Node addressElement) throws XPathExpressionException {
- if (addresses.isEmpty())
- return;
-
- for (Address addr : addresses) {
- Element eAddr = document.createElement("address");
- eAddr.setAttribute("name", addr.getName());
-
- Element eMulticast = null;
- if (addr.getRoutingTypes().contains("multicast")) {
- eMulticast = (Element) eAddr.getElementsByTagName("multicast").item(0);
- if (eMulticast == null) {
- eMulticast = document.createElement("multicast");
- eAddr.appendChild(eMulticast);
- }
- }
-
- Element eAnycast = null;
- if (addr.getRoutingTypes().contains("anycast")) {
- eAnycast = (Element) eAddr.getElementsByTagName("anycast").item(0);
- if (eAnycast == null) {
- eAnycast = document.createElement("anycast");
- eAddr.appendChild(eAnycast);
- }
- }
-
- if (addr.getQueues().size() > 0) {
- for (Queue queue : addr.getQueues()) {
- Element eQueue = document.createElement("queue");
- eQueue.setAttribute("name", queue.getName());
-
- if (queue.getDurable() != null && !queue.getDurable().isEmpty()) {
- Element eDurable = document.createElement("durable");
- eDurable.setTextContent(queue.getDurable());
- eQueue.appendChild(eDurable);
- }
-
- if (queue.getFilter() != null && !queue.getFilter().isEmpty()) {
- Element eFilter = document.createElement("filter");
- eFilter.setAttribute("string", queue.getFilter());
- eQueue.appendChild(eFilter);
- }
-
- if (queue.getRoutingType().equals("anycast")) {
- eAnycast.appendChild(eQueue);
- } else if (queue.getRoutingType().equals("multicast")) {
- eMulticast.appendChild(eQueue);
- } else {
- System.err.print("Unknown Routing Type Found for Queue: " + queue.getName());
- }
- }
- }
- addressElement.appendChild(eAddr);
- }
- }
-
- public void write(File output, Properties outputProperties) throws TransformerException {
- Transformer transformer = TransformerFactory.newInstance().newTransformer();
- transformer.setOutputProperties(outputProperties);
- StreamResult streamResult = new StreamResult(output);
- transformer.transform(new DOMSource(document), streamResult);
- }
-
- private String getString(Node node, String xPathQuery) throws XPathExpressionException {
- return xPath.evaluate(xPathQuery, node, XPathConstants.STRING).toString();
- }
-
- private NodeList getNodeList(String xPathQuery) throws XPathExpressionException {
- return (NodeList) xPath.evaluate(xPathQuery, document, XPathConstants.NODESET);
- }
-
- private Node getNode(String xPathQuery) throws XPathExpressionException {
- return (Node) xPath.evaluate(xPathQuery, document, XPathConstants.NODE);
- }
-
-}
diff --git a/artemis-tools/src/main/java/org/apache/activemq/artemis/tools/migrate/config/addressing/Address.java b/artemis-tools/src/main/java/org/apache/activemq/artemis/tools/migrate/config/addressing/Address.java
deleted file mode 100644
index 65307d5..0000000
--- a/artemis-tools/src/main/java/org/apache/activemq/artemis/tools/migrate/config/addressing/Address.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.activemq.artemis.tools.migrate.config.addressing;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-public class Address {
-
- private String name;
-
- private Set<String> routingTypes = new HashSet<>();
-
- private String defaultMaxConsumers = "-1";
-
- private String defaultPurgeOnNoConsumers = "false";
-
- private List<Queue> queues = new ArrayList<>();
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public Set<String> getRoutingTypes() {
- return routingTypes;
- }
-
- public void setRoutingTypes(Set<String> routingTypes) {
- this.routingTypes = routingTypes;
- }
-
- public String getDefaultMaxConsumers() {
- return defaultMaxConsumers;
- }
-
- public List<Queue> getQueues() {
- return queues;
- }
-
- public void setQueues(List<Queue> queues) {
- this.queues = queues;
- }
-}
diff --git a/artemis-tools/src/main/java/org/apache/activemq/artemis/tools/migrate/config/addressing/Queue.java b/artemis-tools/src/main/java/org/apache/activemq/artemis/tools/migrate/config/addressing/Queue.java
deleted file mode 100644
index faa066d..0000000
--- a/artemis-tools/src/main/java/org/apache/activemq/artemis/tools/migrate/config/addressing/Queue.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.activemq.artemis.tools.migrate.config.addressing;
-
-public class Queue {
-
- String name;
-
- String filter;
-
- String durable;
-
- String routingType;
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getFilter() {
- return filter;
- }
-
- public void setFilter(String filter) {
- this.filter = filter;
- }
-
- public String getDurable() {
- return durable;
- }
-
- public void setDurable(String durable) {
- this.durable = durable;
- }
-
- public String getRoutingType() {
- return routingType;
- }
-
- public void setRoutingType(String routingType) {
- this.routingType = routingType;
- }
-}
diff --git a/artemis-tools/src/main/resources/META-INF/MANIFEST.MF b/artemis-tools/src/main/resources/META-INF/MANIFEST.MF
deleted file mode 100644
index fc08aed..0000000
--- a/artemis-tools/src/main/resources/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-Main-Class: org.apache.activemq.artemis.tools.migrate.config.Main
diff --git a/artemis-tools/src/test/java/org/apache/activemq/artemis/tools/migrate/config/XMLConfigurationMigrationTest.java b/artemis-tools/src/test/java/org/apache/activemq/artemis/tools/migrate/config/XMLConfigurationMigrationTest.java
deleted file mode 100644
index e653920..0000000
--- a/artemis-tools/src/test/java/org/apache/activemq/artemis/tools/migrate/config/XMLConfigurationMigrationTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.activemq.artemis.tools.migrate.config;
-
-import javax.xml.transform.OutputKeys;
-import java.io.File;
-import java.util.Properties;
-
-import org.junit.Test;
-
-public class XMLConfigurationMigrationTest {
-
- @Test
- public void testQueuesReplacedWithAddresses() throws Exception {
- File brokerXml = new File(this.getClass().getClassLoader().getResource("broker.xml").toURI());
- File output = new File("target/out.xml");
-
- XMLConfigurationMigration tool = new XMLConfigurationMigration(brokerXml, output);
-
- tool.transform();
-
- Properties properties = new Properties();
- properties.put(OutputKeys.INDENT, "yes");
- properties.put("{http://xml.apache.org/xslt}indent-amount", "3");
- properties.put(OutputKeys.ENCODING, "UTF-8");
- tool.write(output, properties);
- }
-
- @Test
- public void scanAndReplaceTest() throws Exception {
- File dir = new File(this.getClass().getClassLoader().getResource("replace").getPath());
- Main.scanAndTransform(dir);
- }
-}
diff --git a/artemis-tools/src/test/resources/artemis-configuration.xsd b/artemis-tools/src/test/resources/artemis-configuration.xsd
deleted file mode 100644
index 0fec540..0000000
--- a/artemis-tools/src/test/resources/artemis-configuration.xsd
+++ /dev/null
@@ -1,4096 +0,0 @@
-<?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="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="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>
- should failover be prompted if target server is cleanly shutdown?
- </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: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="source-mirror-address" type="xsd:string" use="optional" default="">
- <xsd:annotation>
- <xsd:documentation>
- By default the replica will use a temporary store and forward queue to store events towards the mirror / replica.
- However if this is set, we will use a defined durable queue.
- </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." Measured
- in messages-per-second.
- </xsd:documentation>
- </xsd:annotation>
- </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="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
- </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: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>
diff --git a/artemis-tools/src/test/resources/artemis-server.xsd b/artemis-tools/src/test/resources/artemis-server.xsd
deleted file mode 100644
index 1e2e816..0000000
--- a/artemis-tools/src/test/resources/artemis-server.xsd
+++ /dev/null
@@ -1,46 +0,0 @@
-<?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="urn:activemq"
- targetNamespace="urn:activemq"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- attributeFormDefault="unqualified"
- elementFormDefault="qualified"
- version="1.0">
- <xsd:element name="configuration">
- <xsd:annotation>
- <xsd:documentation>
- Root element for a document specifying the configuration
- of a single "standalone" server that does not operate
- as part of a domain.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:choice minOccurs="1" maxOccurs="unbounded">
- <xsd:any namespace="##other">
- <xsd:annotation>
- <xsd:documentation>A profile declaration may include configuration
- elements from other namespaces for the subsystems that make up the profile.
- </xsd:documentation>
- </xsd:annotation>
- </xsd:any>
- </xsd:choice>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-</xsd:schema>
diff --git a/artemis-tools/src/test/resources/broker.xml b/artemis-tools/src/test/resources/broker.xml
deleted file mode 100644
index a98954b..0000000
--- a/artemis-tools/src/test/resources/broker.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<!--
- 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.
--->
-<configuration xmlns="urn:activemq"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:activemq /schema/artemis-server.xsd">
- <jms xmlns="urn:activemq:jms">
- <queue name="queue1">
- <durable>true</durable>
- <selector string="car='red'" />
- </queue>
-
- <queue name="queue2"/>
- <queue name="queue3"/>
-
- <topic name="topic1"/>
- <topic name="topic2"/>
- <topic name="topic3"/>
-
- <queue name="orders"/>
- <topic name="orders"/>
- </jms>
-
- <core xmlns="urn:activemq:core">
-
- <persistence-enabled>false</persistence-enabled>
- <!-- Connectors -->
-
- <connectors>
- <connector name="in-vm">vm://0</connector>
- </connectors>
-
- <acceptors>
- <acceptor name="in-vm">vm://0</acceptor>
- </acceptors>
-
- <!-- Other config -->
-
- <security-settings>
- <!--security for example queue-->
- <security-setting match="jms.queue.exampleQueue">
- <permission type="createDurableQueue" roles="guest"/>
- <permission type="deleteDurableQueue" roles="guest"/>
- <permission type="createNonDurableQueue" roles="guest"/>
- <permission type="deleteNonDurableQueue" roles="guest"/>
- <permission type="consume" roles="guest"/>
- <permission type="send" roles="guest"/>
- </security-setting>
- </security-settings>
-
- <queues>
- <queue name="foo">
- <address>bar</address>
- </queue>
- <queue name="bar">
- <address>afar</address>
- <durable>true</durable>
- <filter string="name='car'" />
- </queue>
- </queues>
- </core>
-
-</configuration>
diff --git a/artemis-tools/src/test/resources/replace/broker.xml b/artemis-tools/src/test/resources/replace/broker.xml
deleted file mode 100644
index bd33d59..0000000
--- a/artemis-tools/src/test/resources/replace/broker.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<!--
- 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.
--->
-<configuration xmlns="urn:activemq"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:activemq /schema/artemis-server.xsd">
- <jms xmlns="urn:activemq:jms">
- <!--the queue used by the example-->
- <queue name="exampleQueue"/>
- </jms>
-
- <core xmlns="urn:activemq:core">
-
- <persistence-enabled>false</persistence-enabled>
- <!-- Connectors -->
-
- <connectors>
- <connector name="in-vm">vm://0</connector>
- </connectors>
-
- <acceptors>
- <acceptor name="in-vm">vm://0</acceptor>
- </acceptors>
-
- <!-- Other config -->
-
- <security-settings>
- <!--security for example queue-->
- <security-setting match="jms.queue.exampleQueue">
- <permission type="createDurableQueue" roles="guest"/>
- <permission type="deleteDurableQueue" roles="guest"/>
- <permission type="createNonDurableQueue" roles="guest"/>
- <permission type="deleteNonDurableQueue" roles="guest"/>
- <permission type="consume" roles="guest"/>
- <permission type="send" roles="guest"/>
- </security-setting>
- </security-settings>
-
- <queues>
- <queue name="foo">
- <address>bar</address>
- </queue>
- <queue name="bar">
- <address>afar</address>
- <durable>true</durable>
- <filter string="name='car'" />
- </queue>
- </queues>
- </core>
-
-</configuration>
diff --git a/artemis-tools/src/test/resources/replace/broker2.xml b/artemis-tools/src/test/resources/replace/broker2.xml
deleted file mode 100644
index bd33d59..0000000
--- a/artemis-tools/src/test/resources/replace/broker2.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<!--
- 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.
--->
-<configuration xmlns="urn:activemq"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:activemq /schema/artemis-server.xsd">
- <jms xmlns="urn:activemq:jms">
- <!--the queue used by the example-->
- <queue name="exampleQueue"/>
- </jms>
-
- <core xmlns="urn:activemq:core">
-
- <persistence-enabled>false</persistence-enabled>
- <!-- Connectors -->
-
- <connectors>
- <connector name="in-vm">vm://0</connector>
- </connectors>
-
- <acceptors>
- <acceptor name="in-vm">vm://0</acceptor>
- </acceptors>
-
- <!-- Other config -->
-
- <security-settings>
- <!--security for example queue-->
- <security-setting match="jms.queue.exampleQueue">
- <permission type="createDurableQueue" roles="guest"/>
- <permission type="deleteDurableQueue" roles="guest"/>
- <permission type="createNonDurableQueue" roles="guest"/>
- <permission type="deleteNonDurableQueue" roles="guest"/>
- <permission type="consume" roles="guest"/>
- <permission type="send" roles="guest"/>
- </security-setting>
- </security-settings>
-
- <queues>
- <queue name="foo">
- <address>bar</address>
- </queue>
- <queue name="bar">
- <address>afar</address>
- <durable>true</durable>
- <filter string="name='car'" />
- </queue>
- </queues>
- </core>
-
-</configuration>
diff --git a/pom.xml b/pom.xml
index 92adb72..1266eef 100644
--- a/pom.xml
+++ b/pom.xml
@@ -62,7 +62,6 @@
<module>artemis-hawtio</module>
<module>integration/activemq-spring-integration</module>
<module>artemis-distribution</module>
- <module>artemis-tools</module>
<module>tests</module>
<module>artemis-features</module>
</modules>
@@ -1375,7 +1374,6 @@
<fileset dir="${activemq.basedir}/artemis-server/target/classes" />
<fileset dir="${activemq.basedir}/artemis-server-osgi/target/classes" />
<fileset dir="${activemq.basedir}/artemis-service-extensions/target" />
- <fileset dir="${activemq.basedir}/artemis-tools/target/classes" />
<fileset dir="${activemq.basedir}/artemis-web/target/classes" />
</classfiles>
<sourcefiles encoding="UTF-8">
@@ -1396,7 +1394,6 @@
<fileset dir="${activemq.basedir}/artemis-server/src/main/java" />
<fileset dir="${activemq.basedir}/artemis-server-osgi/src/main/java" />
<fileset dir="${activemq.basedir}/artemis-service-extensions/src/main/java" />
- <fileset dir="${activemq.basedir}/artemis-tools/src/main/java" />
<fileset dir="${activemq.basedir}/artemis-web/src/main/java" />
</sourcefiles>
</structure>