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 2018/05/03 20:44:44 UTC
[2/3] activemq-artemis git commit: ARTEMIS-1848 auto-delete
auto-created queue for OpenWire
ARTEMIS-1848 auto-delete auto-created queue for OpenWire
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/3016db69
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/3016db69
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/3016db69
Branch: refs/heads/master
Commit: 3016db699d7cf8c11e45c3828a714278c57807b2
Parents: 893f219
Author: Justin Bertram <jb...@apache.org>
Authored: Thu May 3 12:18:51 2018 -0500
Committer: Justin Bertram <jb...@apache.org>
Committed: Thu May 3 14:22:20 2018 -0500
----------------------------------------------------------------------
.../core/protocol/openwire/amq/AMQSession.java | 2 +-
.../integration/openwire/SimpleOpenWireTest.java | 15 ++++++++++++++-
2 files changed, 15 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/3016db69/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQSession.java
----------------------------------------------------------------------
diff --git a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQSession.java b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQSession.java
index c607ca4..c3b1a20 100644
--- a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQSession.java
+++ b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQSession.java
@@ -249,7 +249,7 @@ public class AMQSession implements SessionCallback {
routingTypeToUse = as.getDefaultAddressRoutingType();
}
}
- coreSession.createQueue(addressToUse, queueNameToUse, routingTypeToUse, null, isTemporary, true);
+ coreSession.createQueue(addressToUse, queueNameToUse, routingTypeToUse, null, isTemporary, true, true);
connection.addKnownDestination(queueName);
} else {
hasQueue = false;
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/3016db69/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/SimpleOpenWireTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/SimpleOpenWireTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/SimpleOpenWireTest.java
index 618249b..7a86e8c 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/SimpleOpenWireTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/SimpleOpenWireTest.java
@@ -919,10 +919,12 @@ public class SimpleOpenWireTest extends BasicOpenWireTest {
}
@Test
- public void testAutoDestinationCreationOnConsumer() throws JMSException {
+ public void testAutoDestinationCreationAndDeletionOnConsumer() throws Exception {
AddressSettings addressSetting = new AddressSettings();
addressSetting.setAutoCreateQueues(true);
addressSetting.setAutoCreateAddresses(true);
+ addressSetting.setAutoDeleteQueues(true);
+ addressSetting.setAutoDeleteAddresses(true);
String address = "foo";
server.getAddressSettingsRepository().addMatch(address, addressSetting);
@@ -935,11 +937,22 @@ public class SimpleOpenWireTest extends BasicOpenWireTest {
MessageConsumer consumer = session.createConsumer(queue);
+ assertTrue(Wait.waitFor(() -> (server.locateQueue(SimpleString.toSimpleString("foo")) != null), 2000, 100));
+ assertTrue(Wait.waitFor(() -> (server.getAddressInfo(SimpleString.toSimpleString("foo")) != null), 2000, 100));
+
MessageProducer producer = session.createProducer(null);
producer.send(queue, message);
TextMessage message1 = (TextMessage) consumer.receive(1000);
assertTrue(message1.getText().equals(message.getText()));
+
+ assertNotNull(server.locateQueue(SimpleString.toSimpleString("foo")));
+
+ consumer.close();
+ connection.close();
+
+ assertTrue(Wait.waitFor(() -> (server.locateQueue(SimpleString.toSimpleString("foo")) == null), 2000, 100));
+ assertTrue(Wait.waitFor(() -> (server.getAddressInfo(SimpleString.toSimpleString("foo")) == null), 2000, 100));
}
@Test