ARTEMIS-510 create queue only on route
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/d1a687a9 Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/d1a687a9 Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/d1a687a9 Branch: refs/heads/master Commit: d1a687a98f24d6ad6dce9e9659cf0d447221befa Parents: 882b8ed Author: jbertram <[email protected]> Authored: Fri Apr 29 12:04:14 2016 -0500 Committer: Andy Taylor <[email protected]> Committed: Tue May 3 10:59:51 2016 +0100 ---------------------------------------------------------------------- .../apache/activemq/artemis/jms/client/ActiveMQSession.java | 9 ++------- .../tests/integration/client/AutoCreateJmsQueueTest.java | 9 +++++++-- 2 files changed, 9 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/d1a687a9/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQSession.java ---------------------------------------------------------------------- diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQSession.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQSession.java index 3320932..50269f5 100644 --- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQSession.java +++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQSession.java @@ -298,13 +298,8 @@ public class ActiveMQSession implements QueueSession, TopicSession { if (jbd != null) { ClientSession.AddressQuery response = session.addressQuery(jbd.getSimpleAddress()); - if (!response.isExists()) { - if (response.isAutoCreateJmsQueues()) { - session.createQueue(jbd.getSimpleAddress(), jbd.getSimpleAddress(), true); - } - else { - throw new InvalidDestinationException("Destination " + jbd.getName() + " does not exist"); - } + if (!response.isExists() && !response.isAutoCreateJmsQueues()) { + throw new InvalidDestinationException("Destination " + jbd.getName() + " does not exist"); } connection.addKnownDestination(jbd.getSimpleAddress()); http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/d1a687a9/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoCreateJmsQueueTest.java ---------------------------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoCreateJmsQueueTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoCreateJmsQueueTest.java index 4c29d6c..91878c8 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoCreateJmsQueueTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoCreateJmsQueueTest.java @@ -66,6 +66,9 @@ public class AutoCreateJmsQueueTest extends JMSTestBase { } connection.close(); + + // make sure the JMX control was created for the JMS queue + assertNotNull(server.getManagementService().getResource("jms.queue.test")); } @Test @@ -110,10 +113,12 @@ public class AutoCreateJmsQueueTest extends JMSTestBase { Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); javax.jms.Queue queue = ActiveMQJMSClient.createQueue("test"); + MessageProducer producer = session.createProducer(queue); + TextMessage mess = session.createTextMessage("msg"); try { - MessageProducer producer = session.createProducer(queue); - Assert.fail("Creating a producer here should throw a JMSSecurityException"); + producer.send(mess); + Assert.fail("Sending a message here should throw a JMSSecurityException"); } catch (Exception e) { Assert.assertTrue(e instanceof JMSSecurityException);
