This is an automated email from the ASF dual-hosted git repository.

clebertsuconic pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git

commit acd6605ebfca2d2a7db94fd6687827a5280a5c6c
Author: Justin Bertram <jbert...@apache.org>
AuthorDate: Thu Apr 27 14:34:42 2023 -0500

    ARTEMIS-4212 fix tests
---
 .../org/apache/activemq/artemis/core/postoffice/Bindings.java |  4 ++++
 .../activemq/artemis/core/postoffice/impl/BindingsImpl.java   | 11 +++++++++++
 .../activemq/artemis/core/server/impl/ServerSessionImpl.java  |  3 ++-
 .../artemis/tests/integration/amqp/QueueAutoCreationTest.java |  2 +-
 4 files changed, 18 insertions(+), 2 deletions(-)

diff --git 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/Bindings.java
 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/Bindings.java
index 6ac2c0ca05..21d37ec02f 100644
--- 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/Bindings.java
+++ 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/Bindings.java
@@ -62,4 +62,8 @@ public interface Bindings extends UnproposalListener {
    void forEach(BiConsumer<String, Binding> bindingConsumer);
 
    int size();
+
+   default boolean contains(Class clazz) {
+      return false;
+   }
 }
diff --git 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/BindingsImpl.java
 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/BindingsImpl.java
index 632df2a4af..252ae9b782 100644
--- 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/BindingsImpl.java
+++ 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/BindingsImpl.java
@@ -200,6 +200,17 @@ public final class BindingsImpl implements Bindings {
       return bindingsNameMap.size();
    }
 
+   @Override
+   public boolean contains(Class clazz) {
+      for (Binding binding : getBindings()) {
+         if (clazz.isInstance(binding)) {
+            return true;
+         }
+      }
+
+      return false;
+   }
+
 
    @Override
    public Message redistribute(final Message message,
diff --git 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerSessionImpl.java
 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerSessionImpl.java
index 6d85381bd2..5720c49820 100644
--- 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerSessionImpl.java
+++ 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerSessionImpl.java
@@ -64,6 +64,7 @@ import org.apache.activemq.artemis.core.postoffice.Bindings;
 import org.apache.activemq.artemis.core.postoffice.PostOffice;
 import org.apache.activemq.artemis.core.postoffice.QueueBinding;
 import org.apache.activemq.artemis.core.postoffice.RoutingStatus;
+import org.apache.activemq.artemis.core.postoffice.impl.LocalQueueBinding;
 import org.apache.activemq.artemis.core.protocol.core.CoreRemotingConnection;
 import org.apache.activemq.artemis.core.remoting.CertificateUtil;
 import org.apache.activemq.artemis.core.remoting.CloseListener;
@@ -1809,7 +1810,7 @@ public class ServerSessionImpl implements ServerSession, 
FailureListener {
          if (server.locateQueue(unPrefixedQueue) == null) {
             // The queue doesn't exist.
             Bindings bindings = 
server.getPostOffice().lookupBindingsForAddress(unPrefixedAddress);
-            if (bindings != null && !queueConfig.isFqqn()) {
+            if (bindings != null && bindings.contains(LocalQueueBinding.class) 
&& !queueConfig.isFqqn()) {
                // The address has another queue with a different name, which 
is fine. Just ignore it.
                result = AutoCreateResult.EXISTED;
             } else if (addressSettings.isAutoCreateQueues() || 
queueConfig.isTemporary()) {
diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/QueueAutoCreationTest.java
 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/QueueAutoCreationTest.java
index 802df9c095..1453a8dba5 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/QueueAutoCreationTest.java
+++ 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/QueueAutoCreationTest.java
@@ -143,7 +143,7 @@ public class QueueAutoCreationTest extends 
JMSClientTestSupport {
       Connection connection = factory.createConnection();
       SimpleString addressName = 
UUIDGenerator.getInstance().generateSimpleStringUUID();
       logger.debug("Address is {}", addressName);
-      clientSession.createAddress(addressName, RoutingType.ANYCAST, false);
+      clientSession.createAddress(addressName, RoutingType.MULTICAST, false);
 
       Session session = connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
       for (int i = 0; i < 10; i++) {

Reply via email to