You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jb...@apache.org on 2016/11/23 17:43:39 UTC
[38/48] activemq-artemis git commit: Generic controls for auto
queue/address creation
Generic controls for auto queue/address creation
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/aefdc671
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/aefdc671
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/aefdc671
Branch: refs/heads/ARTEMIS-780
Commit: aefdc671f900c392fa6ff37eeb78f0c1906cb424
Parents: 20433fd
Author: jbertram <jb...@apache.com>
Authored: Mon Nov 21 16:23:27 2016 -0600
Committer: jbertram <jb...@apache.com>
Committed: Wed Nov 23 09:04:36 2016 -0600
----------------------------------------------------------------------
.../core/management/ActiveMQServerControl.java | 30 ++++
artemis-features/src/main/resources/artemis.xml | 4 +-
.../deployers/impl/FileConfigurationParser.java | 16 ++
.../impl/ActiveMQServerControlImpl.java | 62 ++++++-
.../core/settings/impl/AddressSettings.java | 165 +++++++++++++++++--
.../resources/schema/artemis-configuration.xsd | 43 ++++-
.../core/settings/AddressSettingsTest.java | 8 +-
.../resources/ConfigurationTest-full-config.xml | 8 +
docs/user-manual/en/queue-attributes.md | 32 +++-
.../ActiveMQServerControlUsingCoreTest.java | 37 ++++-
.../src/test/resources/reload-test-jms.xml | 2 +-
.../test/resources/reload-test-updated-jms.xml | 2 +-
12 files changed, 375 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/aefdc671/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java
----------------------------------------------------------------------
diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java
index b658508..33584bf 100644
--- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java
+++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java
@@ -849,6 +849,36 @@ public interface ActiveMQServerControl {
@Parameter(desc = "allow auto-created queues to be deleted automatically", name = "autoDeleteJmsQueues") boolean autoDeleteJmsQueues,
@Parameter(desc = "allow topics to be created automatically", name = "autoCreateJmsTopics") boolean autoCreateJmsTopics,
@Parameter(desc = "allow auto-created topics to be deleted automatically", name = "autoDeleteJmsTopics") boolean autoDeleteJmsTopics) throws Exception;
+ /**
+ * adds a new address setting for a specific address
+ */
+ @Operation(desc = "Add address settings for addresses matching the addressMatch", impact = MBeanOperationInfo.ACTION)
+ void addAddressSettings(@Parameter(desc = "an address match", name = "addressMatch") String addressMatch,
+ @Parameter(desc = "the dead letter address setting", name = "DLA") String DLA,
+ @Parameter(desc = "the expiry address setting", name = "expiryAddress") String expiryAddress,
+ @Parameter(desc = "the expiry delay setting", name = "expiryDelay") long expiryDelay,
+ @Parameter(desc = "are any queues created for this address a last value queue", name = "lastValueQueue") boolean lastValueQueue,
+ @Parameter(desc = "the delivery attempts", name = "deliveryAttempts") int deliveryAttempts,
+ @Parameter(desc = "the max size in bytes", name = "maxSizeBytes") long maxSizeBytes,
+ @Parameter(desc = "the page size in bytes", name = "pageSizeBytes") int pageSizeBytes,
+ @Parameter(desc = "the max number of pages in the soft memory cache", name = "pageMaxCacheSize") int pageMaxCacheSize,
+ @Parameter(desc = "the redelivery delay", name = "redeliveryDelay") long redeliveryDelay,
+ @Parameter(desc = "the redelivery delay multiplier", name = "redeliveryMultiplier") double redeliveryMultiplier,
+ @Parameter(desc = "the maximum redelivery delay", name = "maxRedeliveryDelay") long maxRedeliveryDelay,
+ @Parameter(desc = "the redistribution delay", name = "redistributionDelay") long redistributionDelay,
+ @Parameter(desc = "do we send to the DLA when there is no where to route the message", name = "sendToDLAOnNoRoute") boolean sendToDLAOnNoRoute,
+ @Parameter(desc = "the policy to use when the address is full", name = "addressFullMessagePolicy") String addressFullMessagePolicy,
+ @Parameter(desc = "when a consumer falls below this threshold in terms of messages consumed per second it will be considered 'slow'", name = "slowConsumerThreshold") long slowConsumerThreshold,
+ @Parameter(desc = "how often (in seconds) to check for slow consumers", name = "slowConsumerCheckPeriod") long slowConsumerCheckPeriod,
+ @Parameter(desc = "the policy to use when a slow consumer is detected", name = "slowConsumerPolicy") String slowConsumerPolicy,
+ @Parameter(desc = "allow jms queues to be created automatically", name = "autoCreateJmsQueues") boolean autoCreateJmsQueues,
+ @Parameter(desc = "allow auto-created jms queues to be deleted automatically", name = "autoDeleteJmsQueues") boolean autoDeleteJmsQueues,
+ @Parameter(desc = "allow jms topics to be created automatically", name = "autoCreateJmsTopics") boolean autoCreateJmsTopics,
+ @Parameter(desc = "allow auto-created jms topics to be deleted automatically", name = "autoDeleteJmsTopics") boolean autoDeleteJmsTopics,
+ @Parameter(desc = "allow queues to be created automatically", name = "autoCreateQueues") boolean autoCreateQueues,
+ @Parameter(desc = "allow auto-created queues to be deleted automatically", name = "autoDeleteQueues") boolean autoDeleteQueues,
+ @Parameter(desc = "allow topics to be created automatically", name = "autoCreateAddresses") boolean autoCreateAddresses,
+ @Parameter(desc = "allow auto-created topics to be deleted automatically", name = "autoDeleteAddresses") boolean autoDeleteAddresses) throws Exception;
void removeAddressSettings(String addressMatch) throws Exception;
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/aefdc671/artemis-features/src/main/resources/artemis.xml
----------------------------------------------------------------------
diff --git a/artemis-features/src/main/resources/artemis.xml b/artemis-features/src/main/resources/artemis.xml
index fc1cdcc..7a51dc2 100644
--- a/artemis-features/src/main/resources/artemis.xml
+++ b/artemis-features/src/main/resources/artemis.xml
@@ -80,6 +80,8 @@ under the License.
<permission type="deleteNonDurableQueue" roles="manager"/>
<permission type="createDurableQueue" roles="manager"/>
<permission type="deleteDurableQueue" roles="manager"/>
+ <permission type="createAddress" roles="manager"/>
+ <permission type="deleteAddress" roles="manager"/>
<permission type="consume" roles="manager"/>
<permission type="send" roles="manager"/>
<!-- we need this otherwise ./artemis data imp wouldn't work -->
@@ -97,7 +99,7 @@ under the License.
<max-size-bytes>-1</max-size-bytes>
<message-counter-history-day-limit>10</message-counter-history-day-limit>
<address-full-policy>PAGE</address-full-policy>
- <auto-create-jms-queues>true</auto-create-jms-queues>
+ <auto-create-queues>true</auto-create-queues>
</address-setting>
</address-settings>
</core>
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/aefdc671/artemis-server/src/main/java/org/apache/activemq/artemis/core/deployers/impl/FileConfigurationParser.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/deployers/impl/FileConfigurationParser.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/deployers/impl/FileConfigurationParser.java
index 2517b10..08e65e2 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/deployers/impl/FileConfigurationParser.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/deployers/impl/FileConfigurationParser.java
@@ -175,6 +175,14 @@ public final class FileConfigurationParser extends XMLConfigurationUtil {
private static final String AUTO_DELETE_JMS_TOPICS = "auto-delete-jms-topics";
+ private static final String AUTO_CREATE_QUEUES = "auto-create-queues";
+
+ private static final String AUTO_DELETE_QUEUES = "auto-delete-queues";
+
+ private static final String AUTO_CREATE_ADDRESSES = "auto-create-addresses";
+
+ private static final String AUTO_DELETE_ADDRESSES = "auto-delete-addresses";
+
private static final String MANAGEMENT_BROWSE_PAGE_SIZE = "management-browse-page-size";
private static final String MAX_CONNECTIONS_NODE_NAME = "max-connections";
@@ -836,6 +844,14 @@ public final class FileConfigurationParser extends XMLConfigurationUtil {
addressSettings.setAutoCreateJmsTopics(XMLUtil.parseBoolean(child));
} else if (AUTO_DELETE_JMS_TOPICS.equalsIgnoreCase(name)) {
addressSettings.setAutoDeleteJmsTopics(XMLUtil.parseBoolean(child));
+ } else if (AUTO_CREATE_QUEUES.equalsIgnoreCase(name)) {
+ addressSettings.setAutoCreateQueues(XMLUtil.parseBoolean(child));
+ } else if (AUTO_DELETE_QUEUES.equalsIgnoreCase(name)) {
+ addressSettings.setAutoDeleteQueues(XMLUtil.parseBoolean(child));
+ } else if (AUTO_CREATE_ADDRESSES.equalsIgnoreCase(name)) {
+ addressSettings.setAutoCreateAddresses(XMLUtil.parseBoolean(child));
+ } else if (AUTO_DELETE_ADDRESSES.equalsIgnoreCase(name)) {
+ addressSettings.setAutoDeleteAddresses(XMLUtil.parseBoolean(child));
} else if (MANAGEMENT_BROWSE_PAGE_SIZE.equalsIgnoreCase(name)) {
addressSettings.setManagementBrowsePageSize(XMLUtil.parseInt(child));
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/aefdc671/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/ActiveMQServerControlImpl.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/ActiveMQServerControlImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/ActiveMQServerControlImpl.java
index 0458fa4..e5ad233 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/ActiveMQServerControlImpl.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/ActiveMQServerControlImpl.java
@@ -1696,7 +1696,31 @@ public class ActiveMQServerControlImpl extends AbstractControl implements Active
if (addressSettings.getExpiryAddress() != null) {
settings.add("expiryAddress", addressSettings.getExpiryAddress().toString());
}
- return settings.add("expiryDelay", addressSettings.getExpiryDelay()).add("maxDeliveryAttempts", addressSettings.getMaxDeliveryAttempts()).add("pageCacheMaxSize", addressSettings.getPageCacheMaxSize()).add("maxSizeBytes", addressSettings.getMaxSizeBytes()).add("pageSizeBytes", addressSettings.getPageSizeBytes()).add("redeliveryDelay", addressSettings.getRedeliveryDelay()).add("redeliveryMultiplier", addressSettings.getRedeliveryMultiplier()).add("maxRedeliveryDelay", addressSettings.getMaxRedeliveryDelay()).add("redistributionDelay", addressSettings.getRedistributionDelay()).add("lastValueQueue", addressSettings.isLastValueQueue()).add("sendToDLAOnNoRoute", addressSettings.isSendToDLAOnNoRoute()).add("addressFullMessagePolicy", policy).add("slowConsumerThreshold", addressSettings.getSlowConsumerThreshold()).add("slowConsumerCheckPeriod", addressSettings.getSlowConsumerCheckPeriod()).add("slowConsumerPolicy", consumerPolicy).add("autoCreateJmsQueues", addressSettings.isAutoCreat
eJmsQueues()).add("autoCreateJmsTopics", addressSettings.isAutoCreateJmsTopics()).add("autoDeleteJmsQueues", addressSettings.isAutoDeleteJmsQueues()).add("autoDeleteJmsTopics", addressSettings.isAutoDeleteJmsQueues()).build().toString();
+ return settings.add("expiryDelay", addressSettings.getExpiryDelay())
+ .add("maxDeliveryAttempts", addressSettings.getMaxDeliveryAttempts())
+ .add("pageCacheMaxSize", addressSettings.getPageCacheMaxSize())
+ .add("maxSizeBytes", addressSettings.getMaxSizeBytes())
+ .add("pageSizeBytes", addressSettings.getPageSizeBytes())
+ .add("redeliveryDelay", addressSettings.getRedeliveryDelay())
+ .add("redeliveryMultiplier", addressSettings.getRedeliveryMultiplier())
+ .add("maxRedeliveryDelay", addressSettings.getMaxRedeliveryDelay())
+ .add("redistributionDelay", addressSettings.getRedistributionDelay())
+ .add("lastValueQueue", addressSettings.isLastValueQueue())
+ .add("sendToDLAOnNoRoute", addressSettings.isSendToDLAOnNoRoute())
+ .add("addressFullMessagePolicy", policy)
+ .add("slowConsumerThreshold", addressSettings.getSlowConsumerThreshold())
+ .add("slowConsumerCheckPeriod", addressSettings.getSlowConsumerCheckPeriod())
+ .add("slowConsumerPolicy", consumerPolicy)
+ .add("autoCreateJmsQueues", addressSettings.isAutoCreateJmsQueues())
+ .add("autoCreateJmsTopics", addressSettings.isAutoCreateJmsTopics())
+ .add("autoDeleteJmsQueues", addressSettings.isAutoDeleteJmsQueues())
+ .add("autoDeleteJmsTopics", addressSettings.isAutoDeleteJmsQueues())
+ .add("autoCreateQueues", addressSettings.isAutoCreateQueues())
+ .add("autoDeleteQueues", addressSettings.isAutoDeleteQueues())
+ .add("autoCreateAddress", addressSettings.isAutoCreateAddresses())
+ .add("autoDeleteAddress", addressSettings.isAutoDeleteAddresses())
+ .build()
+ .toString();
}
@Override
@@ -1722,6 +1746,36 @@ public class ActiveMQServerControlImpl extends AbstractControl implements Active
final boolean autoDeleteJmsQueues,
final boolean autoCreateJmsTopics,
final boolean autoDeleteJmsTopics) throws Exception {
+ addAddressSettings(address, DLA, expiryAddress, expiryDelay, lastValueQueue, deliveryAttempts, maxSizeBytes, pageSizeBytes, pageMaxCacheSize, redeliveryDelay, redeliveryMultiplier, maxRedeliveryDelay, redistributionDelay, sendToDLAOnNoRoute, addressFullMessagePolicy, slowConsumerThreshold, slowConsumerCheckPeriod, slowConsumerPolicy, autoCreateJmsQueues, autoDeleteJmsQueues, autoCreateJmsTopics, autoDeleteJmsTopics, AddressSettings.DEFAULT_AUTO_CREATE_QUEUES, AddressSettings.DEFAULT_AUTO_DELETE_QUEUES, AddressSettings.DEFAULT_AUTO_CREATE_ADDRESSES, AddressSettings.DEFAULT_AUTO_DELETE_ADDRESSES);
+ }
+
+ @Override
+ public void addAddressSettings(final String address,
+ final String DLA,
+ final String expiryAddress,
+ final long expiryDelay,
+ final boolean lastValueQueue,
+ final int deliveryAttempts,
+ final long maxSizeBytes,
+ final int pageSizeBytes,
+ final int pageMaxCacheSize,
+ final long redeliveryDelay,
+ final double redeliveryMultiplier,
+ final long maxRedeliveryDelay,
+ final long redistributionDelay,
+ final boolean sendToDLAOnNoRoute,
+ final String addressFullMessagePolicy,
+ final long slowConsumerThreshold,
+ final long slowConsumerCheckPeriod,
+ final String slowConsumerPolicy,
+ final boolean autoCreateJmsQueues,
+ final boolean autoDeleteJmsQueues,
+ final boolean autoCreateJmsTopics,
+ final boolean autoDeleteJmsTopics,
+ final boolean autoCreateQueues,
+ final boolean autoDeleteQueues,
+ final boolean autoCreateAddresses,
+ final boolean autoDeleteAddresses) throws Exception {
checkStarted();
// JBPAPP-6334 requested this to be pageSizeBytes > maxSizeBytes
@@ -1769,6 +1823,12 @@ public class ActiveMQServerControlImpl extends AbstractControl implements Active
}
addressSettings.setAutoCreateJmsQueues(autoCreateJmsQueues);
addressSettings.setAutoDeleteJmsQueues(autoDeleteJmsQueues);
+ addressSettings.setAutoCreateJmsTopics(autoCreateJmsTopics);
+ addressSettings.setAutoDeleteJmsTopics(autoDeleteJmsTopics);
+ addressSettings.setAutoCreateQueues(autoCreateJmsQueues);
+ addressSettings.setAutoDeleteQueues(autoDeleteJmsQueues);
+ addressSettings.setAutoCreateAddresses(autoCreateJmsTopics);
+ addressSettings.setAutoDeleteAddresses(autoDeleteJmsTopics);
server.getAddressSettingsRepository().addMatch(address, addressSettings);
storageManager.storeAddressSetting(new PersistedAddressSetting(new SimpleString(address), addressSettings));
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/aefdc671/artemis-server/src/main/java/org/apache/activemq/artemis/core/settings/impl/AddressSettings.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/settings/impl/AddressSettings.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/settings/impl/AddressSettings.java
index e613ee6..a63ee9b 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/settings/impl/AddressSettings.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/settings/impl/AddressSettings.java
@@ -52,14 +52,26 @@ public class AddressSettings implements Mergeable<AddressSettings>, Serializable
public static final boolean DEFAULT_LAST_VALUE_QUEUE = false;
+ @Deprecated
public static final boolean DEFAULT_AUTO_CREATE_JMS_QUEUES = true;
+ @Deprecated
public static final boolean DEFAULT_AUTO_DELETE_JMS_QUEUES = true;
+ @Deprecated
public static final boolean DEFAULT_AUTO_CREATE_TOPICS = true;
+ @Deprecated
public static final boolean DEFAULT_AUTO_DELETE_TOPICS = true;
+ public static final boolean DEFAULT_AUTO_CREATE_QUEUES = true;
+
+ public static final boolean DEFAULT_AUTO_DELETE_QUEUES = true;
+
+ public static final boolean DEFAULT_AUTO_CREATE_ADDRESSES = true;
+
+ public static final boolean DEFAULT_AUTO_DELETE_ADDRESSES = true;
+
public static final long DEFAULT_REDISTRIBUTION_DELAY = -1;
public static final long DEFAULT_EXPIRY_DELAY = -1;
@@ -125,6 +137,14 @@ public class AddressSettings implements Mergeable<AddressSettings>, Serializable
private Boolean autoDeleteJmsTopics = null;
+ private Boolean autoCreateQueues = null;
+
+ private Boolean autoDeleteQueues = null;
+
+ private Boolean autoCreateAddresses = null;
+
+ private Boolean autoDeleteAddresses = null;
+
private Integer managementBrowsePageSize = AddressSettings.MANAGEMENT_BROWSE_PAGE_SIZE;
private Long maxSizeBytesRejectThreshold = null;
@@ -157,6 +177,10 @@ public class AddressSettings implements Mergeable<AddressSettings>, Serializable
this.autoDeleteJmsQueues = other.autoDeleteJmsQueues;
this.autoCreateJmsTopics = other.autoCreateJmsTopics;
this.autoDeleteJmsTopics = other.autoDeleteJmsTopics;
+ this.autoCreateQueues = other.autoCreateQueues;
+ this.autoDeleteQueues = other.autoDeleteQueues;
+ this.autoCreateAddresses = other.autoCreateAddresses;
+ this.autoDeleteAddresses = other.autoDeleteAddresses;
this.managementBrowsePageSize = other.managementBrowsePageSize;
this.queuePrefetch = other.queuePrefetch;
this.maxSizeBytesRejectThreshold = other.maxSizeBytesRejectThreshold;
@@ -165,42 +189,86 @@ public class AddressSettings implements Mergeable<AddressSettings>, Serializable
public AddressSettings() {
}
+ @Deprecated
public boolean isAutoCreateJmsQueues() {
return autoCreateJmsQueues != null ? autoCreateJmsQueues : AddressSettings.DEFAULT_AUTO_CREATE_JMS_QUEUES;
}
+ @Deprecated
public AddressSettings setAutoCreateJmsQueues(final boolean autoCreateJmsQueues) {
this.autoCreateJmsQueues = autoCreateJmsQueues;
return this;
}
+ @Deprecated
public boolean isAutoDeleteJmsQueues() {
return autoDeleteJmsQueues != null ? autoDeleteJmsQueues : AddressSettings.DEFAULT_AUTO_DELETE_JMS_QUEUES;
}
+ @Deprecated
public AddressSettings setAutoDeleteJmsQueues(final boolean autoDeleteJmsQueues) {
this.autoDeleteJmsQueues = autoDeleteJmsQueues;
return this;
}
+ @Deprecated
public boolean isAutoCreateJmsTopics() {
return autoCreateJmsTopics != null ? autoCreateJmsTopics : AddressSettings.DEFAULT_AUTO_CREATE_TOPICS;
}
+ @Deprecated
public AddressSettings setAutoCreateJmsTopics(final boolean autoCreateJmsTopics) {
this.autoCreateJmsTopics = autoCreateJmsTopics;
return this;
}
+ @Deprecated
public boolean isAutoDeleteJmsTopics() {
return autoDeleteJmsTopics != null ? autoDeleteJmsTopics : AddressSettings.DEFAULT_AUTO_DELETE_TOPICS;
}
+ @Deprecated
public AddressSettings setAutoDeleteJmsTopics(final boolean autoDeleteJmsTopics) {
this.autoDeleteJmsTopics = autoDeleteJmsTopics;
return this;
}
+ public boolean isAutoCreateQueues() {
+ return autoCreateQueues != null ? autoCreateQueues : AddressSettings.DEFAULT_AUTO_CREATE_QUEUES;
+ }
+
+ public AddressSettings setAutoCreateQueues(Boolean autoCreateQueues) {
+ this.autoCreateQueues = autoCreateQueues;
+ return this;
+ }
+
+ public boolean isAutoDeleteQueues() {
+ return autoDeleteQueues != null ? autoDeleteQueues : AddressSettings.DEFAULT_AUTO_DELETE_QUEUES;
+ }
+
+ public AddressSettings setAutoDeleteQueues(Boolean autoDeleteQueues) {
+ this.autoDeleteQueues = autoDeleteQueues;
+ return this;
+ }
+
+ public boolean isAutoCreateAddresses() {
+ return autoCreateAddresses != null ? autoCreateAddresses : AddressSettings.DEFAULT_AUTO_CREATE_ADDRESSES;
+ }
+
+ public AddressSettings setAutoCreateAddresses(Boolean autoCreateAddresses) {
+ this.autoCreateAddresses = autoCreateAddresses;
+ return this;
+ }
+
+ public boolean isAutoDeleteAddresses() {
+ return autoDeleteAddresses != null ? autoDeleteAddresses : AddressSettings.DEFAULT_AUTO_DELETE_ADDRESSES;
+ }
+
+ public AddressSettings setAutoDeleteAddresses(Boolean autoDeleteAddresses) {
+ this.autoDeleteAddresses = autoDeleteAddresses;
+ return this;
+ }
+
public boolean isLastValueQueue() {
return lastValueQueue != null ? lastValueQueue : AddressSettings.DEFAULT_LAST_VALUE_QUEUE;
}
@@ -459,12 +527,24 @@ public class AddressSettings implements Mergeable<AddressSettings>, Serializable
if (autoDeleteJmsQueues == null) {
autoDeleteJmsQueues = merged.autoDeleteJmsQueues;
}
-// if (autoCreateJmsTopics == null) {
-// autoCreateJmsTopics = merged.autoCreateJmsTopics;
-// }
+ if (autoCreateJmsTopics == null) {
+ autoCreateJmsTopics = merged.autoCreateJmsTopics;
+ }
if (autoDeleteJmsTopics == null) {
autoDeleteJmsTopics = merged.autoDeleteJmsTopics;
}
+ if (autoCreateQueues == null) {
+ autoCreateQueues = merged.autoCreateQueues;
+ }
+ if (autoDeleteQueues == null) {
+ autoDeleteQueues = merged.autoDeleteQueues;
+ }
+ if (autoCreateAddresses == null) {
+ autoCreateAddresses = merged.autoCreateAddresses;
+ }
+ if (autoDeleteAddresses == null) {
+ autoDeleteAddresses = merged.autoDeleteAddresses;
+ }
if (managementBrowsePageSize == null) {
managementBrowsePageSize = merged.managementBrowsePageSize;
}
@@ -532,10 +612,18 @@ public class AddressSettings implements Mergeable<AddressSettings>, Serializable
autoDeleteJmsQueues = BufferHelper.readNullableBoolean(buffer);
-// autoCreateJmsTopics = BufferHelper.readNullableBoolean(buffer);
+ autoCreateJmsTopics = BufferHelper.readNullableBoolean(buffer);
autoDeleteJmsTopics = BufferHelper.readNullableBoolean(buffer);
+ autoCreateQueues = BufferHelper.readNullableBoolean(buffer);
+
+ autoDeleteQueues = BufferHelper.readNullableBoolean(buffer);
+
+ autoCreateAddresses = BufferHelper.readNullableBoolean(buffer);
+
+ autoDeleteAddresses = BufferHelper.readNullableBoolean(buffer);
+
managementBrowsePageSize = BufferHelper.readNullableInteger(buffer);
maxSizeBytesRejectThreshold = BufferHelper.readNullableLong(buffer);
@@ -565,8 +653,12 @@ public class AddressSettings implements Mergeable<AddressSettings>, Serializable
BufferHelper.sizeOfNullableSimpleString(slowConsumerPolicy != null ? slowConsumerPolicy.toString() : null) +
BufferHelper.sizeOfNullableBoolean(autoCreateJmsQueues) +
BufferHelper.sizeOfNullableBoolean(autoDeleteJmsQueues) +
-// BufferHelper.sizeOfNullableBoolean(autoCreateJmsTopics) +
+ BufferHelper.sizeOfNullableBoolean(autoCreateJmsTopics) +
BufferHelper.sizeOfNullableBoolean(autoDeleteJmsTopics) +
+ BufferHelper.sizeOfNullableBoolean(autoCreateQueues) +
+ BufferHelper.sizeOfNullableBoolean(autoDeleteQueues) +
+ BufferHelper.sizeOfNullableBoolean(autoCreateAddresses) +
+ BufferHelper.sizeOfNullableBoolean(autoDeleteAddresses) +
BufferHelper.sizeOfNullableInteger(managementBrowsePageSize) +
BufferHelper.sizeOfNullableLong(maxSizeBytesRejectThreshold);
}
@@ -615,10 +707,18 @@ public class AddressSettings implements Mergeable<AddressSettings>, Serializable
BufferHelper.writeNullableBoolean(buffer, autoDeleteJmsQueues);
-// BufferHelper.writeNullableBoolean(buffer, autoCreateJmsTopics);
+ BufferHelper.writeNullableBoolean(buffer, autoCreateJmsTopics);
BufferHelper.writeNullableBoolean(buffer, autoDeleteJmsTopics);
+ BufferHelper.writeNullableBoolean(buffer, autoCreateQueues);
+
+ BufferHelper.writeNullableBoolean(buffer, autoDeleteQueues);
+
+ BufferHelper.writeNullableBoolean(buffer, autoCreateAddresses);
+
+ BufferHelper.writeNullableBoolean(buffer, autoDeleteAddresses);
+
BufferHelper.writeNullableInteger(buffer, managementBrowsePageSize);
BufferHelper.writeNullableLong(buffer, maxSizeBytesRejectThreshold);
@@ -652,8 +752,12 @@ public class AddressSettings implements Mergeable<AddressSettings>, Serializable
result = prime * result + ((slowConsumerPolicy == null) ? 0 : slowConsumerPolicy.hashCode());
result = prime * result + ((autoCreateJmsQueues == null) ? 0 : autoCreateJmsQueues.hashCode());
result = prime * result + ((autoDeleteJmsQueues == null) ? 0 : autoDeleteJmsQueues.hashCode());
-// result = prime * result + ((autoCreateJmsTopics == null) ? 0 : autoCreateJmsTopics.hashCode());
+ result = prime * result + ((autoCreateJmsTopics == null) ? 0 : autoCreateJmsTopics.hashCode());
result = prime * result + ((autoDeleteJmsTopics == null) ? 0 : autoDeleteJmsTopics.hashCode());
+ result = prime * result + ((autoCreateQueues == null) ? 0 : autoCreateQueues.hashCode());
+ result = prime * result + ((autoDeleteQueues == null) ? 0 : autoDeleteQueues.hashCode());
+ result = prime * result + ((autoCreateAddresses == null) ? 0 : autoCreateAddresses.hashCode());
+ result = prime * result + ((autoDeleteAddresses == null) ? 0 : autoDeleteAddresses.hashCode());
result = prime * result + ((managementBrowsePageSize == null) ? 0 : managementBrowsePageSize.hashCode());
result = prime * result + ((queuePrefetch == null) ? 0 : queuePrefetch.hashCode());
result = prime * result + ((maxSizeBytesRejectThreshold == null) ? 0 : queuePrefetch.hashCode());
@@ -777,18 +881,36 @@ public class AddressSettings implements Mergeable<AddressSettings>, Serializable
return false;
} else if (!autoDeleteJmsQueues.equals(other.autoDeleteJmsQueues))
return false;
-
-// if (autoCreateJmsTopics == null) {
-// if (other.autoCreateJmsTopics != null)
-// return false;
-// } else if (!autoCreateJmsTopics.equals(other.autoCreateJmsTopics))
-// return false;
+ if (autoCreateJmsTopics == null) {
+ if (other.autoCreateJmsTopics != null)
+ return false;
+ } else if (!autoCreateJmsTopics.equals(other.autoCreateJmsTopics))
+ return false;
if (autoDeleteJmsTopics == null) {
if (other.autoDeleteJmsTopics != null)
return false;
} else if (!autoDeleteJmsTopics.equals(other.autoDeleteJmsTopics))
return false;
-
+ if (autoCreateQueues == null) {
+ if (other.autoCreateQueues != null)
+ return false;
+ } else if (!autoCreateQueues.equals(other.autoCreateQueues))
+ return false;
+ if (autoDeleteQueues == null) {
+ if (other.autoDeleteQueues != null)
+ return false;
+ } else if (!autoDeleteQueues.equals(other.autoDeleteQueues))
+ return false;
+ if (autoCreateAddresses == null) {
+ if (other.autoCreateAddresses != null)
+ return false;
+ } else if (!autoCreateAddresses.equals(other.autoCreateAddresses))
+ return false;
+ if (autoDeleteAddresses == null) {
+ if (other.autoDeleteAddresses != null)
+ return false;
+ } else if (!autoDeleteAddresses.equals(other.autoDeleteAddresses))
+ return false;
if (managementBrowsePageSize == null) {
if (other.managementBrowsePageSize != null)
return false;
@@ -854,11 +976,20 @@ public class AddressSettings implements Mergeable<AddressSettings>, Serializable
slowConsumerPolicy +
", autoCreateJmsQueues=" +
autoCreateJmsQueues +
- ", autoDeleteJmsQueues=" + autoDeleteJmsQueues +
+ ", autoDeleteJmsQueues=" +
+ autoDeleteJmsQueues +
", autoCreateJmsTopics=" +
-// autoCreateJmsTopics +
-// ", autoDeleteJmsTopics=" +
+ autoCreateJmsTopics +
+ ", autoDeleteJmsTopics=" +
autoDeleteJmsTopics +
+ ", autoCreateQueues=" +
+ autoCreateQueues +
+ ", autoDeleteQueues=" +
+ autoDeleteQueues +
+ ", autoCreateAddresses=" +
+ autoCreateAddresses +
+ ", autoDeleteAddresses=" +
+ autoDeleteAddresses +
", managementBrowsePageSize=" +
managementBrowsePageSize +
"]";
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/aefdc671/artemis-server/src/main/resources/schema/artemis-configuration.xsd
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/resources/schema/artemis-configuration.xsd b/artemis-server/src/main/resources/schema/artemis-configuration.xsd
index b40c92c..bfb0054 100644
--- a/artemis-server/src/main/resources/schema/artemis-configuration.xsd
+++ b/artemis-server/src/main/resources/schema/artemis-configuration.xsd
@@ -2399,7 +2399,7 @@
<xsd:element name="auto-create-jms-queues" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
- whether or not to automatically create JMS queues when a producer sends or a consumer connects to a
+ DEPRECATED: whether or not to automatically create JMS queues when a producer sends or a consumer connects to a
queue
</xsd:documentation>
</xsd:annotation>
@@ -2408,7 +2408,7 @@
<xsd:element name="auto-delete-jms-queues" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
- whether or not to delete auto-created JMS queues when the queue has 0 consumers and 0 messages
+ 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>
@@ -2416,7 +2416,7 @@
<xsd:element name="auto-create-jms-topics" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
- whether or not to automatically create JMS topics when a producer sends or a consumer subscribes to
+ DEPRECATED: whether or not to automatically create JMS topics when a producer sends or a consumer subscribes to
a topic
</xsd:documentation>
</xsd:annotation>
@@ -2425,7 +2425,42 @@
<xsd:element name="auto-delete-jms-topics" type="xsd:boolean" default="true" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
- whether or not to delete auto-created JMS topics when the last subscription is closed
+ 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-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
+ a queue
+ </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>
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/aefdc671/artemis-server/src/test/java/org/apache/activemq/artemis/core/settings/AddressSettingsTest.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/core/settings/AddressSettingsTest.java b/artemis-server/src/test/java/org/apache/activemq/artemis/core/settings/AddressSettingsTest.java
index 4041a16..6a6ec55 100644
--- a/artemis-server/src/test/java/org/apache/activemq/artemis/core/settings/AddressSettingsTest.java
+++ b/artemis-server/src/test/java/org/apache/activemq/artemis/core/settings/AddressSettingsTest.java
@@ -41,8 +41,12 @@ public class AddressSettingsTest extends ActiveMQTestBase {
Assert.assertEquals(AddressSettings.DEFAULT_SLOW_CONSUMER_POLICY, addressSettings.getSlowConsumerPolicy());
Assert.assertEquals(AddressSettings.DEFAULT_AUTO_CREATE_JMS_QUEUES, addressSettings.isAutoCreateJmsQueues());
Assert.assertEquals(AddressSettings.DEFAULT_AUTO_DELETE_JMS_QUEUES, addressSettings.isAutoDeleteJmsQueues());
-// Assert.assertEquals(AddressSettings.DEFAULT_AUTO_CREATE_TOPICS, addressSettings.isAutoCreateJmsTopics());
-// Assert.assertEquals(AddressSettings.DEFAULT_AUTO_DELETE_TOPICS, addressSettings.isAutoDeleteJmsTopics());
+ Assert.assertEquals(AddressSettings.DEFAULT_AUTO_CREATE_TOPICS, addressSettings.isAutoCreateJmsTopics());
+ Assert.assertEquals(AddressSettings.DEFAULT_AUTO_DELETE_TOPICS, addressSettings.isAutoDeleteJmsTopics());
+ Assert.assertEquals(AddressSettings.DEFAULT_AUTO_CREATE_QUEUES, addressSettings.isAutoCreateQueues());
+ Assert.assertEquals(AddressSettings.DEFAULT_AUTO_DELETE_QUEUES, addressSettings.isAutoDeleteQueues());
+ Assert.assertEquals(AddressSettings.DEFAULT_AUTO_CREATE_ADDRESSES, addressSettings.isAutoCreateAddresses());
+ Assert.assertEquals(AddressSettings.DEFAULT_AUTO_DELETE_ADDRESSES, addressSettings.isAutoDeleteAddresses());
}
@Test
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/aefdc671/artemis-server/src/test/resources/ConfigurationTest-full-config.xml
----------------------------------------------------------------------
diff --git a/artemis-server/src/test/resources/ConfigurationTest-full-config.xml b/artemis-server/src/test/resources/ConfigurationTest-full-config.xml
index 87dbd90..f0eaa36 100644
--- a/artemis-server/src/test/resources/ConfigurationTest-full-config.xml
+++ b/artemis-server/src/test/resources/ConfigurationTest-full-config.xml
@@ -261,6 +261,10 @@
<auto-delete-jms-queues>true</auto-delete-jms-queues>
<auto-create-jms-topics>true</auto-create-jms-topics>
<auto-delete-jms-topics>true</auto-delete-jms-topics>
+ <auto-create-queues>true</auto-create-queues>
+ <auto-delete-queues>true</auto-delete-queues>
+ <auto-create-addresses>true</auto-create-addresses>
+ <auto-delete-addresses>true</auto-delete-addresses>
</address-setting>
<address-setting match="a2">
<dead-letter-address>a2.1</dead-letter-address>
@@ -277,6 +281,10 @@
<auto-delete-jms-queues>false</auto-delete-jms-queues>
<auto-create-jms-topics>false</auto-create-jms-topics>
<auto-delete-jms-topics>false</auto-delete-jms-topics>
+ <auto-create-queues>false</auto-create-queues>
+ <auto-delete-queues>false</auto-delete-queues>
+ <auto-create-addresses>false</auto-create-addresses>
+ <auto-delete-addresses>false</auto-delete-addresses>
</address-setting>
</address-settings>
<resource-limit-settings>
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/aefdc671/docs/user-manual/en/queue-attributes.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/queue-attributes.md b/docs/user-manual/en/queue-attributes.md
index 22184aa..7a8fe78 100644
--- a/docs/user-manual/en/queue-attributes.md
+++ b/docs/user-manual/en/queue-attributes.md
@@ -88,6 +88,10 @@ entry that would be found in the `broker.xml` file.
<slow-consumer-threshold>-1</slow-consumer-threshold>
<slow-consumer-policy>NOTIFY</slow-consumer-policy>
<slow-consumer-check-period>5</slow-consumer-check-period>
+ <auto-create-jms-queues>true</auto-create-jms-queues> <!-- DEPRECATED see auto-create-queues>
+ <auto-delete-jms-queues>true</auto-delete-jms-queues> <!-- DEPRECATED see auto-delete-queues>
+ <auto-create-jms-topics>true</auto-create-jms-topics> <!-- DEPRECATED see auto-create-addresses>
+ <auto-delete-jms-topics>true</auto-delete-jms-topics> <!-- DEPRECATED see auto-delete-addresses>
<auto-create-jms-queues>true</auto-create-jms-queues>
<auto-delete-jms-queues>true</auto-delete-jms-queues>
<auto-create-jms-topics>true</auto-create-jms-topics>
@@ -179,18 +183,38 @@ create a JMS queue when a JMS message is sent to a queue whose name fits
the address `match` (remember, a JMS queue is just a core queue which has
the same address and queue name) or a JMS consumer tries to connect to a
queue whose name fits the address `match`. Queues which are auto-created
-are durable, non-temporary, and non-transient. Default is `true`.
+are durable, non-temporary, and non-transient. Default is `true`. This is
+_DEPRECATED_. See `auto-create-queues`.
`auto-delete-jms-queues`. Whether or not the broker should automatically
delete auto-created JMS queues when they have both 0 consumers and 0 messages.
-Default is `true`.
+Default is `true`. This is _DEPRECATED_. See `auto-delete-queues`.
`auto-create-jms-topics`. Whether or not the broker should automatically
create a JMS topic when a JMS message is sent to a topic whose name fits
the address `match` (remember, a JMS topic is just a core address which has
one or more core queues mapped to it) or a JMS consumer tries to subscribe
-to a topic whose name fits the address `match`. Default is `true`.
+to a topic whose name fits the address `match`. Default is `true`. This is
+_DEPRECATED_. See `auto-create-addresses`.
`auto-delete-jms-topics`. Whether or not the broker should automatically
delete auto-created JMS topics once the last subscription on the topic has
-been closed. Default is `true`.
+been closed. Default is `true`. This is _DEPRECATED_. See `auto-delete-addresses`.
+
+`auto-create-queues`. Whether or not the broker should automatically
+create a queue when a message is sent or a consumer tries to connect to a
+queue whose name fits the address `match`. Queues which are auto-created
+are durable, non-temporary, and non-transient. Default is `true`.
+
+`auto-delete-queues`. Whether or not the broker should automatically
+delete auto-created queues when they have both 0 consumers and 0 messages.
+Default is `true`.
+
+`auto-create-addresses`. Whether or not the broker should automatically
+create an address when a message is sent to or a consumer tries to consume
+from a queue which is mapped to an address whose name fits the address `match`.
+Default is `true`.
+
+`auto-delete-addresses`. Whether or not the broker should automatically
+delete auto-created addresses once the address no longer has any queues.
+Default is `true`.
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/aefdc671/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlUsingCoreTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlUsingCoreTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlUsingCoreTest.java
index cb2d9b0..931089c 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlUsingCoreTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlUsingCoreTest.java
@@ -16,12 +16,13 @@
*/
package org.apache.activemq.artemis.tests.integration.management;
+import java.util.Map;
+
import org.apache.activemq.artemis.api.core.ActiveMQAddressDoesNotExistException;
import org.apache.activemq.artemis.api.core.management.ActiveMQServerControl;
import org.apache.activemq.artemis.api.core.management.Parameter;
import org.apache.activemq.artemis.api.core.management.ResourceNames;
-
-import java.util.Map;
+import org.apache.activemq.artemis.core.settings.impl.AddressSettings;
public class ActiveMQServerControlUsingCoreTest extends ActiveMQServerControlTest {
@@ -650,7 +651,37 @@ public class ActiveMQServerControlUsingCoreTest extends ActiveMQServerControlTes
@Parameter(desc = "allow auto-created queues to be deleted automatically", name = "autoDeleteJmsQueues") boolean autoDeleteJmsQueues,
@Parameter(desc = "allow topics to be created automatically", name = "autoCreateJmsTopics") boolean autoCreateJmsTopics,
@Parameter(desc = "allow auto-created topics to be deleted automatically", name = "autoDeleteJmsTopics") boolean autoDeleteJmsTopics) throws Exception {
- proxy.invokeOperation("addAddressSettings", addressMatch, DLA, expiryAddress, expiryDelay, lastValueQueue, deliveryAttempts, maxSizeBytes, pageSizeBytes, pageMaxCacheSize, redeliveryDelay, redeliveryMultiplier, maxRedeliveryDelay, redistributionDelay, sendToDLAOnNoRoute, addressFullMessagePolicy, slowConsumerThreshold, slowConsumerCheckPeriod, slowConsumerPolicy, autoCreateJmsQueues, autoDeleteJmsQueues, autoCreateJmsTopics, autoDeleteJmsTopics);
+ addAddressSettings(addressMatch, DLA, expiryAddress, expiryDelay, lastValueQueue, deliveryAttempts, maxSizeBytes, pageSizeBytes, pageMaxCacheSize, redeliveryDelay, redeliveryMultiplier, maxRedeliveryDelay, redistributionDelay, sendToDLAOnNoRoute, addressFullMessagePolicy, slowConsumerThreshold, slowConsumerCheckPeriod, slowConsumerPolicy, autoCreateJmsQueues, autoDeleteJmsQueues, autoCreateJmsTopics, autoDeleteJmsTopics, AddressSettings.DEFAULT_AUTO_CREATE_QUEUES, AddressSettings.DEFAULT_AUTO_DELETE_QUEUES, AddressSettings.DEFAULT_AUTO_CREATE_ADDRESSES, AddressSettings.DEFAULT_AUTO_DELETE_ADDRESSES);
+ }
+
+ @Override
+ public void addAddressSettings(@Parameter(desc = "an address match", name = "addressMatch") String addressMatch,
+ @Parameter(desc = "the dead letter address setting", name = "DLA") String DLA,
+ @Parameter(desc = "the expiry address setting", name = "expiryAddress") String expiryAddress,
+ @Parameter(desc = "the expiry delay setting", name = "expiryDelay") long expiryDelay,
+ @Parameter(desc = "are any queues created for this address a last value queue", name = "lastValueQueue") boolean lastValueQueue,
+ @Parameter(desc = "the delivery attempts", name = "deliveryAttempts") int deliveryAttempts,
+ @Parameter(desc = "the max size in bytes", name = "maxSizeBytes") long maxSizeBytes,
+ @Parameter(desc = "the page size in bytes", name = "pageSizeBytes") int pageSizeBytes,
+ @Parameter(desc = "the max number of pages in the soft memory cache", name = "pageMaxCacheSize") int pageMaxCacheSize,
+ @Parameter(desc = "the redelivery delay", name = "redeliveryDelay") long redeliveryDelay,
+ @Parameter(desc = "the redelivery delay multiplier", name = "redeliveryMultiplier") double redeliveryMultiplier,
+ @Parameter(desc = "the maximum redelivery delay", name = "maxRedeliveryDelay") long maxRedeliveryDelay,
+ @Parameter(desc = "the redistribution delay", name = "redistributionDelay") long redistributionDelay,
+ @Parameter(desc = "do we send to the DLA when there is no where to route the message", name = "sendToDLAOnNoRoute") boolean sendToDLAOnNoRoute,
+ @Parameter(desc = "the policy to use when the address is full", name = "addressFullMessagePolicy") String addressFullMessagePolicy,
+ @Parameter(desc = "when a consumer falls below this threshold in terms of messages consumed per second it will be considered 'slow'", name = "slowConsumerThreshold") long slowConsumerThreshold,
+ @Parameter(desc = "how often (in seconds) to check for slow consumers", name = "slowConsumerCheckPeriod") long slowConsumerCheckPeriod,
+ @Parameter(desc = "the policy to use when a slow consumer is detected", name = "slowConsumerPolicy") String slowConsumerPolicy,
+ @Parameter(desc = "allow jms queues to be created automatically", name = "autoCreateJmsQueues") boolean autoCreateJmsQueues,
+ @Parameter(desc = "allow auto-created jms queues to be deleted automatically", name = "autoDeleteJmsQueues") boolean autoDeleteJmsQueues,
+ @Parameter(desc = "allow jms topics to be created automatically", name = "autoCreateJmsTopics") boolean autoCreateJmsTopics,
+ @Parameter(desc = "allow auto-created jms topics to be deleted automatically", name = "autoDeleteJmsTopics") boolean autoDeleteJmsTopics,
+ @Parameter(desc = "allow queues to be created automatically", name = "autoCreateQueues") boolean autoCreateQueues,
+ @Parameter(desc = "allow auto-created queues to be deleted automatically", name = "autoDeleteQueues") boolean autoDeleteQueues,
+ @Parameter(desc = "allow topics to be created automatically", name = "autoCreateAddresses") boolean autoCreateAddresses,
+ @Parameter(desc = "allow auto-created topics to be deleted automatically", name = "autoDeleteAddresses") boolean autoDeleteAddresses) throws Exception {
+ proxy.invokeOperation("addAddressSettings", addressMatch, DLA, expiryAddress, expiryDelay, lastValueQueue, deliveryAttempts, maxSizeBytes, pageSizeBytes, pageMaxCacheSize, redeliveryDelay, redeliveryMultiplier, maxRedeliveryDelay, redistributionDelay, sendToDLAOnNoRoute, addressFullMessagePolicy, slowConsumerThreshold, slowConsumerCheckPeriod, slowConsumerPolicy, autoCreateJmsQueues, autoDeleteJmsQueues, autoCreateJmsTopics, autoDeleteJmsTopics, autoCreateQueues, autoDeleteQueues, autoCreateAddresses, autoDeleteAddresses);
}
@Override
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/aefdc671/tests/integration-tests/src/test/resources/reload-test-jms.xml
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/resources/reload-test-jms.xml b/tests/integration-tests/src/test/resources/reload-test-jms.xml
index e914942..5ff7184 100644
--- a/tests/integration-tests/src/test/resources/reload-test-jms.xml
+++ b/tests/integration-tests/src/test/resources/reload-test-jms.xml
@@ -99,7 +99,7 @@ under the License.
<address-settings>
<!--default for catch all-->
<address-setting match="#">
- <auto-create-jms-queues>false</auto-create-jms-queues>
+ <auto-create-queues>false</auto-create-queues>
<dead-letter-address>DLQ</dead-letter-address>
<expiry-address>ExpiryQueue</expiry-address>
<redelivery-delay>0</redelivery-delay>
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/aefdc671/tests/integration-tests/src/test/resources/reload-test-updated-jms.xml
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/resources/reload-test-updated-jms.xml b/tests/integration-tests/src/test/resources/reload-test-updated-jms.xml
index 5195fed..1a67013 100644
--- a/tests/integration-tests/src/test/resources/reload-test-updated-jms.xml
+++ b/tests/integration-tests/src/test/resources/reload-test-updated-jms.xml
@@ -109,7 +109,7 @@ under the License.
<address-settings>
<!--default for catch all-->
<address-setting match="#">
- <auto-create-jms-queues>false</auto-create-jms-queues>
+ <auto-create-queues>false</auto-create-queues>
<dead-letter-address>NewQueue</dead-letter-address>
<expiry-address>NewQueue</expiry-address>
<redelivery-delay>0</redelivery-delay>