Fix StompV12Test

Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/47e5a665
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/47e5a665
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/47e5a665

Branch: refs/heads/ARTEMIS-780
Commit: 47e5a665a2539b4778eec809d8eb42b94a92ad8c
Parents: 9012c9c
Author: jbertram <[email protected]>
Authored: Tue Nov 22 08:19:34 2016 -0600
Committer: jbertram <[email protected]>
Committed: Wed Nov 23 09:04:36 2016 -0600

----------------------------------------------------------------------
 .../artemis/core/protocol/stomp/StompConnection.java     | 11 ++++++++---
 .../tests/integration/stomp/v12/StompV12Test.java        |  3 ++-
 2 files changed, 10 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/47e5a665/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompConnection.java
----------------------------------------------------------------------
diff --git 
a/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompConnection.java
 
b/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompConnection.java
index 356aae1..52d3f3b 100644
--- 
a/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompConnection.java
+++ 
b/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompConnection.java
@@ -250,6 +250,7 @@ public final class StompConnection implements 
RemotingConnection {
       return res;
    }
 
+   // TODO this should take a type - send or receive so it knows whether to 
check the address or the queue
    public void checkDestination(String destination) throws 
ActiveMQStompException {
       if (!manager.destinationExists(destination)) {
          throw 
BUNDLE.destinationNotExist(destination).setHandler(frameHandler);
@@ -262,11 +263,15 @@ public final class StompConnection implements 
RemotingConnection {
       try {
          if 
(manager.getServer().getAddressInfo(SimpleString.toSimpleString(queue)) == 
null) {
             // TODO check here to see if auto-creation is enabled
-            if (routingType != null && 
routingType.equals(AddressInfo.RoutingType.MULTICAST)) {
+            if (routingType != null && 
routingType.equals(AddressInfo.RoutingType.MULTICAST) && 
manager.getServer().getAddressSettingsRepository().getMatch(queue).isAutoCreateAddresses())
 {
                manager.getServer().createOrUpdateAddressInfo(new 
AddressInfo(SimpleString.toSimpleString(queue)).setAutoCreated(true));
             } else {
-               manager.getServer().createOrUpdateAddressInfo(new 
AddressInfo(SimpleString.toSimpleString(queue)).setRoutingType(AddressInfo.RoutingType.ANYCAST).setAutoCreated(true));
-               
manager.getServer().createQueue(SimpleString.toSimpleString(queue), 
SimpleString.toSimpleString(queue), null, null, true, false, true);
+               if 
(manager.getServer().getAddressSettingsRepository().getMatch(queue).isAutoCreateAddresses())
 {
+                  manager.getServer().createOrUpdateAddressInfo(new 
AddressInfo(SimpleString.toSimpleString(queue)).setRoutingType(AddressInfo.RoutingType.ANYCAST).setAutoCreated(true));
+               }
+               if 
(manager.getServer().getAddressSettingsRepository().getMatch(queue).isAutoCreateQueues())
 {
+                  
manager.getServer().createQueue(SimpleString.toSimpleString(queue), 
SimpleString.toSimpleString(queue), null, null, true, false, true);
+               }
             }
             result = true;
          }

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/47e5a665/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/v12/StompV12Test.java
----------------------------------------------------------------------
diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/v12/StompV12Test.java
 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/v12/StompV12Test.java
index d30ba53..e1281e6 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/v12/StompV12Test.java
+++ 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/v12/StompV12Test.java
@@ -354,7 +354,8 @@ public class StompV12Test extends StompTestBase {
    @Test
    public void testHeaderRepetitive() throws Exception {
       AddressSettings addressSettings = new AddressSettings();
-      addressSettings.setAutoCreateJmsQueues(false);
+      addressSettings.setAutoCreateQueues(false);
+      addressSettings.setAutoCreateAddresses(false);
       server.getActiveMQServer().getAddressSettingsRepository().addMatch("#", 
addressSettings);
 
       conn.connect(defUser, defPass);

Reply via email to