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

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


The following commit(s) were added to refs/heads/main by this push:
     new 5f83560229 ARTEMIS-5282 remove deprecated queue-related methods
5f83560229 is described below

commit 5f83560229def44c1d55dcbaf9bdda284f5d7d8b
Author: Justin Bertram <[email protected]>
AuthorDate: Fri Jan 31 22:11:33 2025 -0600

    ARTEMIS-5282 remove deprecated queue-related methods
    
    All but one QueueImpl constructor was deprecated years ago in
    2efa44daf52994790737e21ee29ae830f8f0a12c. Since QueueImpl is an
    internal implementation object (as the name suggests) these
    constructors can be completely removed and didn't technically need to
    be deprecated in the first place.
    
    Furthermore, the methods from QueueFactoryImpl which use these
    constructors were also deprecated in that same commit. Despite the fact
    that there is a QueueFactory interface these objects are still for
    internal use/implementation. Therefore, these deprecated methods can and
    should be removed.
---
 .../activemq/artemis/core/server/QueueFactory.java |  19 --
 .../artemis/core/server/impl/LastValueQueue.java   |  70 -------
 .../artemis/core/server/impl/QueueFactoryImpl.java |  64 ------
 .../artemis/core/server/impl/QueueImpl.java        | 226 ---------------------
 .../artemis/core/server/impl/QueueImplTest.java    |  10 +-
 .../core/server/impl/fakes/FakeQueueFactory.java   |  26 +--
 .../tests/integration/client/HangConsumerTest.java |   3 +-
 .../client/InterruptedLargeMessageTest.java        |  60 ++----
 .../integration/jms/client/TopicCleanupTest.java   |   9 +-
 .../core/server/impl/QueueConcurrentTest.java      |   7 +-
 .../timing/core/server/impl/QueueImplTest.java     |  10 +-
 .../tests/unit/core/server/impl/QueueImplTest.java |  16 +-
 12 files changed, 47 insertions(+), 473 deletions(-)

diff --git 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/QueueFactory.java
 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/QueueFactory.java
index 98c0564a26..b8fd834593 100644
--- 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/QueueFactory.java
+++ 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/QueueFactory.java
@@ -17,10 +17,8 @@
 package org.apache.activemq.artemis.core.server;
 
 import org.apache.activemq.artemis.api.core.QueueConfiguration;
-import org.apache.activemq.artemis.api.core.SimpleString;
 import org.apache.activemq.artemis.core.filter.Filter;
 import org.apache.activemq.artemis.core.paging.PagingManager;
-import org.apache.activemq.artemis.core.paging.cursor.PageSubscription;
 import org.apache.activemq.artemis.core.postoffice.PostOffice;
 
 /**
@@ -31,25 +29,8 @@ import 
org.apache.activemq.artemis.core.postoffice.PostOffice;
  */
 public interface QueueFactory {
 
-   @Deprecated
-   Queue createQueueWith(QueueConfig config) throws Exception;
-
    Queue createQueueWith(QueueConfiguration config, PagingManager 
pagingManager, Filter filter) throws Exception;
 
-   /**
-    * @deprecated Replaced by {@link #createQueueWith}
-    */
-   @Deprecated
-   Queue createQueue(long persistenceID,
-                     SimpleString address,
-                     SimpleString name,
-                     Filter filter,
-                     PageSubscription pageSubscription,
-                     SimpleString user,
-                     boolean durable,
-                     boolean temporary,
-                     boolean autoCreated) throws Exception;
-
    /**
     * This is required for delete-all-reference to work correctly with paging
     *
diff --git 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/LastValueQueue.java
 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/LastValueQueue.java
index 8381dadd2b..dac696bad4 100644
--- 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/LastValueQueue.java
+++ 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/LastValueQueue.java
@@ -23,7 +23,6 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ScheduledExecutorService;
 
 import org.apache.activemq.artemis.api.core.QueueConfiguration;
-import org.apache.activemq.artemis.api.core.RoutingType;
 import org.apache.activemq.artemis.api.core.SimpleString;
 import org.apache.activemq.artemis.core.filter.Filter;
 import org.apache.activemq.artemis.core.paging.PagingStore;
@@ -55,75 +54,6 @@ public class LastValueQueue extends QueueImpl {
    private final Map<SimpleString, MessageReference> map = new 
ConcurrentHashMap<>();
    private final SimpleString lastValueKey;
 
-
-   @Deprecated
-   public LastValueQueue(final long persistenceID,
-                         final SimpleString address,
-                         final SimpleString name,
-                         final Filter filter,
-                         final PagingStore pagingStore,
-                         final PageSubscription pageSubscription,
-                         final SimpleString user,
-                         final boolean durable,
-                         final boolean temporary,
-                         final boolean autoCreated,
-                         final RoutingType routingType,
-                         final Integer maxConsumers,
-                         final Boolean exclusive,
-                         final Boolean groupRebalance,
-                         final Integer groupBuckets,
-                         final SimpleString groupFirstKey,
-                         final Integer consumersBeforeDispatch,
-                         final Long delayBeforeDispatch,
-                         final Boolean purgeOnNoConsumers,
-                         final SimpleString lastValueKey,
-                         final Boolean nonDestructive,
-                         final Boolean autoDelete,
-                         final Long autoDeleteDelay,
-                         final Long autoDeleteMessageCount,
-                         final boolean configurationManaged,
-                         final ScheduledExecutorService scheduledExecutor,
-                         final PostOffice postOffice,
-                         final StorageManager storageManager,
-                         final HierarchicalRepository<AddressSettings> 
addressSettingsRepository,
-                         final ArtemisExecutor executor,
-                         final ActiveMQServer server,
-                         final QueueFactory factory) {
-      this(QueueConfiguration.of(name)
-              .setId(persistenceID)
-              .setAddress(address)
-              .setFilterString(filter.getFilterString())
-              .setUser(user)
-              .setDurable(durable)
-              .setTemporary(temporary)
-              .setAutoCreated(autoCreated)
-              .setRoutingType(routingType)
-              .setMaxConsumers(maxConsumers)
-              .setExclusive(exclusive)
-              .setGroupRebalance(groupRebalance)
-              .setGroupBuckets(groupBuckets)
-              .setGroupFirstKey(groupFirstKey)
-              .setNonDestructive(nonDestructive)
-              .setConsumersBeforeDispatch(consumersBeforeDispatch)
-              .setDelayBeforeDispatch(delayBeforeDispatch)
-              .setPurgeOnNoConsumers(purgeOnNoConsumers)
-              .setAutoDelete(autoDelete)
-              .setAutoDeleteDelay(autoDeleteDelay)
-              .setAutoDeleteMessageCount(autoDeleteMessageCount)
-              .setConfigurationManaged(configurationManaged)
-              .setLastValueKey(lastValueKey),
-           filter,
-           pagingStore,
-           pageSubscription,
-           scheduledExecutor,
-           postOffice,
-           storageManager,
-           addressSettingsRepository,
-           executor,
-           server,
-           factory);
-   }
-
    public LastValueQueue(final QueueConfiguration queueConfiguration,
                          final Filter filter,
                          final PagingStore pagingStore,
diff --git 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueFactoryImpl.java
 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueFactoryImpl.java
index 56de9ba0f0..570fe68f37 100644
--- 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueFactoryImpl.java
+++ 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueFactoryImpl.java
@@ -18,7 +18,6 @@ package org.apache.activemq.artemis.core.server.impl;
 
 import java.util.concurrent.ScheduledExecutorService;
 
-import org.apache.activemq.artemis.api.config.ActiveMQDefaultConfiguration;
 import org.apache.activemq.artemis.api.core.Message;
 import org.apache.activemq.artemis.api.core.QueueConfiguration;
 import org.apache.activemq.artemis.api.core.SimpleString;
@@ -30,7 +29,6 @@ import 
org.apache.activemq.artemis.core.persistence.StorageManager;
 import org.apache.activemq.artemis.core.postoffice.PostOffice;
 import org.apache.activemq.artemis.core.server.ActiveMQServer;
 import org.apache.activemq.artemis.core.server.Queue;
-import org.apache.activemq.artemis.core.server.QueueConfig;
 import org.apache.activemq.artemis.core.server.QueueFactory;
 import org.apache.activemq.artemis.core.settings.HierarchicalRepository;
 import org.apache.activemq.artemis.core.settings.impl.AddressSettings;
@@ -74,19 +72,6 @@ public class QueueFactoryImpl implements QueueFactory {
       this.postOffice = postOffice;
    }
 
-   @Deprecated
-   @Override
-   public Queue createQueueWith(final QueueConfig config) {
-      final Queue queue;
-      if (lastValueKey(config) != null) {
-         queue = new LastValueQueue(config.id(), config.address(), 
config.name(), config.filter(), config.getPagingStore(), 
config.pageSubscription(), config.user(), config.isDurable(), 
config.isTemporary(), config.isAutoCreated(), config.deliveryMode(), 
config.maxConsumers(), config.isExclusive(), config.isGroupRebalance(), 
config.getGroupBuckets(), config.getGroupFirstKey(), 
config.consumersBeforeDispatch(), config.delayBeforeDispatch(), 
config.isPurgeOnNoConsumers(), lastValueKey(conf [...]
-      } else {
-         queue = new QueueImpl(config.id(), config.address(), config.name(), 
config.filter(), config.getPagingStore(), config.pageSubscription(), 
config.user(), config.isDurable(), config.isTemporary(), 
config.isAutoCreated(), config.deliveryMode(), config.maxConsumers(), 
config.isExclusive(), config.isGroupRebalance(), config.getGroupBuckets(), 
config.getGroupFirstKey(), config.isNonDestructive(), 
config.consumersBeforeDispatch(), config.delayBeforeDispatch(), 
config.isPurgeOnNoConsumer [...]
-      }
-      server.getCriticalAnalyzer().add(queue);
-      return queue;
-   }
-
    @Override
    public Queue createQueueWith(final QueueConfiguration config, PagingManager 
pagingManager, Filter filter) {
       validateState(config);
@@ -101,35 +86,6 @@ public class QueueFactoryImpl implements QueueFactory {
       return queue;
    }
 
-   @Deprecated
-   @Override
-   public Queue createQueue(final long persistenceID,
-                            final SimpleString address,
-                            final SimpleString name,
-                            final Filter filter,
-                            final PageSubscription pageSubscription,
-                            final SimpleString user,
-                            final boolean durable,
-                            final boolean temporary,
-                            final boolean autoCreated) throws Exception {
-
-      // Add default address info if one doesn't exist
-      postOffice.addAddressInfo(new AddressInfo(address));
-
-      AddressSettings addressSettings = 
addressSettingsRepository.getMatch(address.toString());
-
-      Queue queue;
-      if (lastValueKey(addressSettings) != null) {
-         queue = new LastValueQueue(persistenceID, address, name, filter, 
pageSubscription == null ? null : pageSubscription.getPagingStore(), 
pageSubscription, user, durable, temporary, autoCreated, 
ActiveMQDefaultConfiguration.getDefaultRoutingType(), 
ActiveMQDefaultConfiguration.getDefaultMaxQueueConsumers(), 
ActiveMQDefaultConfiguration.getDefaultExclusive(), 
ActiveMQDefaultConfiguration.getDefaultGroupRebalance(), 
ActiveMQDefaultConfiguration.getDefaultGroupBuckets(), ActiveMQDefaul [...]
-      } else {
-         queue = new QueueImpl(persistenceID, address, name, filter, 
pageSubscription == null ? null : pageSubscription.getPagingStore(), 
pageSubscription, user, durable, temporary, autoCreated, scheduledExecutor, 
postOffice, storageManager, addressSettingsRepository, 
executorFactory.getExecutor(), server, this);
-      }
-
-      server.getCriticalAnalyzer().add(queue);
-
-      return queue;
-   }
-
    @Override
    public void queueRemoved(Queue queue) {
       server.getCriticalAnalyzer().remove(queue);
@@ -152,16 +108,6 @@ public class QueueFactoryImpl implements QueueFactory {
       return pageSubscription;
    }
 
-   private static SimpleString lastValueKey(final QueueConfig config) {
-      if (config.lastValueKey() != null && !config.lastValueKey().isEmpty()) {
-         return config.lastValueKey();
-      } else if (config.isLastValue()) {
-         return Message.HDR_LAST_VALUE_NAME;
-      } else {
-         return null;
-      }
-   }
-
    private static SimpleString lastValueKey(final QueueConfiguration config) {
       if (config.getLastValueKey() != null && 
!config.getLastValueKey().isEmpty()) {
          return config.getLastValueKey();
@@ -172,16 +118,6 @@ public class QueueFactoryImpl implements QueueFactory {
       }
    }
 
-   private static SimpleString lastValueKey(final AddressSettings 
addressSettings) {
-      if (addressSettings.getDefaultLastValueKey() != null && 
!addressSettings.getDefaultLastValueKey().isEmpty()) {
-         return addressSettings.getDefaultLastValueKey();
-      } else if (addressSettings.isDefaultLastValueQueue()) {
-         return Message.HDR_LAST_VALUE_NAME;
-      } else  {
-         return null;
-      }
-   }
-
    private void validateState(QueueConfiguration config) {
       if (isEmptyOrNull(config.getName())) {
          throw new IllegalStateException("name can't be null or empty!");
diff --git 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
index f92815c108..0e2468bd09 100644
--- 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
+++ 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
@@ -370,232 +370,6 @@ public class QueueImpl extends CriticalComponentImpl 
implements Queue {
       return str.toString();
    }
 
-   @Deprecated
-   public QueueImpl(final long id,
-                    final SimpleString address,
-                    final SimpleString name,
-                    final Filter filter,
-                    final SimpleString user,
-                    final boolean durable,
-                    final boolean temporary,
-                    final boolean autoCreated,
-                    final ScheduledExecutorService scheduledExecutor,
-                    final PostOffice postOffice,
-                    final StorageManager storageManager,
-                    final HierarchicalRepository<AddressSettings> 
addressSettingsRepository,
-                    final ArtemisExecutor executor,
-                    final ActiveMQServer server,
-                    final QueueFactory factory) {
-      this(id, address, name, filter, null, null, user, durable, temporary, 
autoCreated, scheduledExecutor, postOffice, storageManager, 
addressSettingsRepository, executor, server, factory);
-   }
-
-   @Deprecated
-   public QueueImpl(final long id,
-                    final SimpleString address,
-                    final SimpleString name,
-                    final Filter filter,
-                    final PagingStore pagingStore,
-                    final PageSubscription pageSubscription,
-                    final SimpleString user,
-                    final boolean durable,
-                    final boolean temporary,
-                    final boolean autoCreated,
-                    final ScheduledExecutorService scheduledExecutor,
-                    final PostOffice postOffice,
-                    final StorageManager storageManager,
-                    final HierarchicalRepository<AddressSettings> 
addressSettingsRepository,
-                    final ArtemisExecutor executor,
-                    final ActiveMQServer server,
-                    final QueueFactory factory) {
-      this(id, address, name, filter, pagingStore, pageSubscription, user, 
durable, temporary, autoCreated, RoutingType.MULTICAST, null, null, 
scheduledExecutor, postOffice, storageManager, addressSettingsRepository, 
executor, server, factory);
-   }
-
-   @Deprecated
-   public QueueImpl(final long id,
-                    final SimpleString address,
-                    final SimpleString name,
-                    final Filter filter,
-                    final PagingStore pagingStore,
-                    final PageSubscription pageSubscription,
-                    final SimpleString user,
-                    final boolean durable,
-                    final boolean temporary,
-                    final boolean autoCreated,
-                    final RoutingType routingType,
-                    final Integer maxConsumers,
-                    final Boolean purgeOnNoConsumers,
-                    final ScheduledExecutorService scheduledExecutor,
-                    final PostOffice postOffice,
-                    final StorageManager storageManager,
-                    final HierarchicalRepository<AddressSettings> 
addressSettingsRepository,
-                    final ArtemisExecutor executor,
-                    final ActiveMQServer server,
-                    final QueueFactory factory) {
-      this(id, address, name, filter, pagingStore, pageSubscription, user, 
durable, temporary, autoCreated, routingType, maxConsumers, null, 
purgeOnNoConsumers, scheduledExecutor, postOffice, storageManager, 
addressSettingsRepository, executor, server, factory);
-   }
-
-   @Deprecated
-   public QueueImpl(final long id,
-                    final SimpleString address,
-                    final SimpleString name,
-                    final Filter filter,
-                    final PagingStore pagingStore,
-                    final PageSubscription pageSubscription,
-                    final SimpleString user,
-                    final boolean durable,
-                    final boolean temporary,
-                    final boolean autoCreated,
-                    final RoutingType routingType,
-                    final Integer maxConsumers,
-                    final Boolean exclusive,
-                    final Boolean purgeOnNoConsumers,
-                    final ScheduledExecutorService scheduledExecutor,
-                    final PostOffice postOffice,
-                    final StorageManager storageManager,
-                    final HierarchicalRepository<AddressSettings> 
addressSettingsRepository,
-                    final ArtemisExecutor executor,
-                    final ActiveMQServer server,
-                    final QueueFactory factory) {
-      this(id, address, name, filter, pagingStore, pageSubscription, user, 
durable, temporary, autoCreated, routingType, maxConsumers, exclusive, null, 
null, false, null, null, purgeOnNoConsumers, null, null, null, false, 
scheduledExecutor, postOffice, storageManager, addressSettingsRepository, 
executor, server, factory);
-   }
-
-   @Deprecated
-   public QueueImpl(final long id,
-                    final SimpleString address,
-                    final SimpleString name,
-                    final Filter filter,
-                    final PagingStore pagingStore,
-                    final PageSubscription pageSubscription,
-                    final SimpleString user,
-                    final boolean durable,
-                    final boolean temporary,
-                    final boolean autoCreated,
-                    final RoutingType routingType,
-                    final Integer maxConsumers,
-                    final Boolean exclusive,
-                    final Boolean groupRebalance,
-                    final Integer groupBuckets,
-                    final Boolean nonDestructive,
-                    final Integer consumersBeforeDispatch,
-                    final Long delayBeforeDispatch,
-                    final Boolean purgeOnNoConsumers,
-                    final Boolean autoDelete,
-                    final Long autoDeleteDelay,
-                    final Long autoDeleteMessageCount,
-                    final boolean configurationManaged,
-                    final ScheduledExecutorService scheduledExecutor,
-                    final PostOffice postOffice,
-                    final StorageManager storageManager,
-                    final HierarchicalRepository<AddressSettings> 
addressSettingsRepository,
-                    final ArtemisExecutor executor,
-                    final ActiveMQServer server,
-                    final QueueFactory factory) {
-      this(id, address, name, filter, pagingStore, pageSubscription, user, 
durable, temporary, autoCreated, routingType, maxConsumers, exclusive, 
groupRebalance, groupBuckets, null, nonDestructive, consumersBeforeDispatch, 
delayBeforeDispatch, purgeOnNoConsumers, autoDelete, autoDeleteDelay, 
autoDeleteMessageCount, configurationManaged, scheduledExecutor, postOffice, 
storageManager, addressSettingsRepository, executor, server, factory);
-   }
-
-   @Deprecated
-   public QueueImpl(final long id,
-                    final SimpleString address,
-                    final SimpleString name,
-                    final Filter filter,
-                    final PagingStore pagingStore,
-                    final PageSubscription pageSubscription,
-                    final SimpleString user,
-                    final boolean durable,
-                    final boolean temporary,
-                    final boolean autoCreated,
-                    final RoutingType routingType,
-                    final Integer maxConsumers,
-                    final Boolean exclusive,
-                    final Boolean groupRebalance,
-                    final Integer groupBuckets,
-                    final SimpleString groupFirstKey,
-                    final Boolean nonDestructive,
-                    final Integer consumersBeforeDispatch,
-                    final Long delayBeforeDispatch,
-                    final Boolean purgeOnNoConsumers,
-                    final Boolean autoDelete,
-                    final Long autoDeleteDelay,
-                    final Long autoDeleteMessageCount,
-                    final boolean configurationManaged,
-                    final ScheduledExecutorService scheduledExecutor,
-                    final PostOffice postOffice,
-                    final StorageManager storageManager,
-                    final HierarchicalRepository<AddressSettings> 
addressSettingsRepository,
-                    final ArtemisExecutor executor,
-                    final ActiveMQServer server,
-                    final QueueFactory factory) {
-      this(id, address, name, filter, pagingStore, pageSubscription, user, 
durable, temporary, autoCreated, routingType, maxConsumers, exclusive, 
groupRebalance, groupBuckets, groupFirstKey, nonDestructive, 
consumersBeforeDispatch, delayBeforeDispatch, purgeOnNoConsumers, autoDelete, 
autoDeleteDelay, autoDeleteMessageCount, configurationManaged, null, 
scheduledExecutor, postOffice, storageManager, addressSettingsRepository, 
executor, server, factory);
-   }
-
-   @Deprecated
-   public QueueImpl(final long id,
-                    final SimpleString address,
-                    final SimpleString name,
-                    final Filter filter,
-                    final PagingStore pagingStore,
-                    final PageSubscription pageSubscription,
-                    final SimpleString user,
-                    final boolean durable,
-                    final boolean temporary,
-                    final boolean autoCreated,
-                    final RoutingType routingType,
-                    final Integer maxConsumers,
-                    final Boolean exclusive,
-                    final Boolean groupRebalance,
-                    final Integer groupBuckets,
-                    final SimpleString groupFirstKey,
-                    final Boolean nonDestructive,
-                    final Integer consumersBeforeDispatch,
-                    final Long delayBeforeDispatch,
-                    final Boolean purgeOnNoConsumers,
-                    final Boolean autoDelete,
-                    final Long autoDeleteDelay,
-                    final Long autoDeleteMessageCount,
-                    final boolean configurationManaged,
-                    final Long ringSize,
-                    final ScheduledExecutorService scheduledExecutor,
-                    final PostOffice postOffice,
-                    final StorageManager storageManager,
-                    final HierarchicalRepository<AddressSettings> 
addressSettingsRepository,
-                    final ArtemisExecutor executor,
-                    final ActiveMQServer server,
-                    final QueueFactory factory) {
-      this(QueueConfiguration.of(name)
-              .setId(id)
-              .setAddress(address)
-              .setFilterString(filter == null ? null : 
filter.getFilterString())
-              .setUser(user)
-              .setDurable(durable)
-              .setTemporary(temporary)
-              .setAutoCreated(autoCreated)
-              .setRoutingType(routingType)
-              .setMaxConsumers(maxConsumers)
-              .setExclusive(exclusive)
-              .setGroupRebalance(groupRebalance)
-              .setGroupBuckets(groupBuckets)
-              .setGroupFirstKey(groupFirstKey)
-              .setNonDestructive(nonDestructive)
-              .setConsumersBeforeDispatch(consumersBeforeDispatch)
-              .setDelayBeforeDispatch(delayBeforeDispatch)
-              .setPurgeOnNoConsumers(purgeOnNoConsumers)
-              .setAutoDelete(autoDelete)
-              .setAutoDeleteDelay(autoDeleteDelay)
-              .setAutoDeleteMessageCount(autoDeleteMessageCount)
-              .setConfigurationManaged(configurationManaged)
-              .setRingSize(ringSize),
-           filter,
-           pagingStore,
-           pageSubscription,
-           scheduledExecutor,
-           postOffice,
-           storageManager,
-           addressSettingsRepository,
-           executor,
-           server,
-           factory);
-   }
-
    public QueueImpl(final QueueConfiguration queueConfiguration,
                     final Filter filter,
                     final PagingStore pagingStore,
diff --git 
a/artemis-server/src/test/java/org/apache/activemq/artemis/core/server/impl/QueueImplTest.java
 
b/artemis-server/src/test/java/org/apache/activemq/artemis/core/server/impl/QueueImplTest.java
index dd24e803c3..5927d97043 100644
--- 
a/artemis-server/src/test/java/org/apache/activemq/artemis/core/server/impl/QueueImplTest.java
+++ 
b/artemis-server/src/test/java/org/apache/activemq/artemis/core/server/impl/QueueImplTest.java
@@ -27,6 +27,7 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.activemq.artemis.api.core.Message;
+import org.apache.activemq.artemis.api.core.QueueConfiguration;
 import org.apache.activemq.artemis.api.core.SimpleString;
 import org.apache.activemq.artemis.core.io.IOCallback;
 import org.apache.activemq.artemis.core.paging.cursor.PageIterator;
@@ -83,11 +84,10 @@ public class QueueImplTest {
       // Mock server
       Mockito.doReturn(executorFactory).when(server).getExecutorFactory();
 
-      QueueImpl queue = new QueueImpl(0, address, address, null, null, 
pageSubscription, null, false,
-                                      false, false, 
Mockito.mock(ScheduledExecutorService.class),
-                                      Mockito.mock(PostOffice.class), 
storageManager, null,
-                                      Mockito.mock(ArtemisExecutor.class), 
server,
-                                      Mockito.mock(QueueFactory.class));
+      QueueImpl queue = new 
QueueImpl(QueueConfiguration.of(address).setId(0L).setDurable(false), null, 
null,
+                                      pageSubscription, 
Mockito.mock(ScheduledExecutorService.class), Mockito.mock(PostOffice.class),
+                                      storageManager, null, 
Mockito.mock(ArtemisExecutor.class),
+                                      server, 
Mockito.mock(QueueFactory.class));
 
       Mockito.doReturn(queue).when(pageSubscription).getQueue();
 
diff --git 
a/tests/artemis-test-support/src/main/java/org/apache/activemq/artemis/tests/unit/core/server/impl/fakes/FakeQueueFactory.java
 
b/tests/artemis-test-support/src/main/java/org/apache/activemq/artemis/tests/unit/core/server/impl/fakes/FakeQueueFactory.java
index 0d272c95ae..48e20e6be5 100644
--- 
a/tests/artemis-test-support/src/main/java/org/apache/activemq/artemis/tests/unit/core/server/impl/fakes/FakeQueueFactory.java
+++ 
b/tests/artemis-test-support/src/main/java/org/apache/activemq/artemis/tests/unit/core/server/impl/fakes/FakeQueueFactory.java
@@ -21,13 +21,11 @@ import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 
 import org.apache.activemq.artemis.api.core.QueueConfiguration;
-import org.apache.activemq.artemis.api.core.SimpleString;
 import org.apache.activemq.artemis.core.filter.Filter;
 import org.apache.activemq.artemis.core.paging.PagingManager;
 import org.apache.activemq.artemis.core.paging.cursor.PageSubscription;
 import org.apache.activemq.artemis.core.postoffice.PostOffice;
 import org.apache.activemq.artemis.core.server.Queue;
-import org.apache.activemq.artemis.core.server.QueueConfig;
 import org.apache.activemq.artemis.core.server.QueueFactory;
 import org.apache.activemq.artemis.core.server.impl.QueueFactoryImpl;
 import org.apache.activemq.artemis.core.server.impl.QueueImpl;
@@ -42,34 +40,12 @@ public final class FakeQueueFactory implements QueueFactory 
{
 
    private PostOffice postOffice;
 
-   @Override
-   public Queue createQueueWith(final QueueConfig config) {
-      return new QueueImpl(config.id(), config.address(), config.name(), 
config.filter(), config.getPagingStore(), config.pageSubscription(),
-                           config.user(), config.isDurable(), 
config.isTemporary(), config.isAutoCreated(),
-                           scheduledExecutor, postOffice, null, null, 
ArtemisExecutor.delegate(executor), null, this);
-   }
-
    @Override
    public Queue createQueueWith(QueueConfiguration config, PagingManager 
pagingManager, Filter filter) throws Exception {
-      PageSubscription pageSubscription = 
QueueFactoryImpl.getPageSubscription(config, pagingManager, filter);
+      PageSubscription pageSubscription = pagingManager == null ? null : 
QueueFactoryImpl.getPageSubscription(config, pagingManager, filter);
       return new QueueImpl(config, filter, pageSubscription != null ? 
pageSubscription.getPagingStore() : null, pageSubscription, scheduledExecutor, 
postOffice, null, null, ArtemisExecutor.delegate(executor), null, this);
    }
 
-   @Deprecated
-   @Override
-   public Queue createQueue(final long persistenceID,
-                            final SimpleString address,
-                            final SimpleString name,
-                            final Filter filter,
-                            final PageSubscription subscription,
-                            final SimpleString user,
-                            final boolean durable,
-                            final boolean temporary,
-                            final boolean autoCreated) {
-      return new QueueImpl(persistenceID, address, name, filter, subscription 
!= null ? subscription.getPagingStore() : null, subscription, user, durable, 
temporary, autoCreated,
-                           scheduledExecutor, postOffice, null, null, 
ArtemisExecutor.delegate(executor), null, this);
-   }
-
    @Override
    public void setPostOffice(final PostOffice postOffice) {
       this.postOffice = postOffice;
diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/HangConsumerTest.java
 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/HangConsumerTest.java
index 845720f4a9..946071de45 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/HangConsumerTest.java
+++ 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/HangConsumerTest.java
@@ -356,8 +356,7 @@ public class HangConsumerTest extends ActiveMQTestBase {
 
       // Forcing a situation where the server would unexpectedly create a 
duplicated queue. The server should still start normally
       LocalQueueBinding newBinding = new LocalQueueBinding(QUEUE,
-                                                           new 
QueueImpl(queueID, QUEUE, QUEUE, null, null, true, false,
-                                                                         
false, null, null, null, null, null, server, null),
+                                                           new 
QueueImpl(QueueConfiguration.of(QUEUE).setRoutingType(RoutingType.ANYCAST).setId(queueID),
 null, null, null, null, null, null, null, null, server, null),
                                                            server.getNodeID());
       server.getStorageManager().addQueueBinding(txID, newBinding);
       server.getStorageManager().commitBindings(txID);
diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/InterruptedLargeMessageTest.java
 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/InterruptedLargeMessageTest.java
index 32d0705848..3a67c75049 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/InterruptedLargeMessageTest.java
+++ 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/InterruptedLargeMessageTest.java
@@ -16,9 +16,6 @@
  */
 package org.apache.activemq.artemis.tests.integration.client;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-
 import javax.jms.Connection;
 import javax.jms.JMSException;
 import javax.jms.MessageConsumer;
@@ -47,6 +44,7 @@ import 
org.apache.activemq.artemis.api.core.client.ClientSessionFactory;
 import org.apache.activemq.artemis.core.config.StoreConfiguration;
 import org.apache.activemq.artemis.core.filter.Filter;
 import org.apache.activemq.artemis.core.paging.PagingManager;
+import org.apache.activemq.artemis.core.paging.PagingStore;
 import org.apache.activemq.artemis.core.paging.cursor.PageSubscription;
 import org.apache.activemq.artemis.core.persistence.StorageManager;
 import org.apache.activemq.artemis.core.postoffice.PostOffice;
@@ -55,7 +53,6 @@ import 
org.apache.activemq.artemis.core.protocol.core.impl.wireformat.SessionCon
 import org.apache.activemq.artemis.core.server.ActiveMQServer;
 import org.apache.activemq.artemis.core.server.MessageReference;
 import org.apache.activemq.artemis.core.server.Queue;
-import org.apache.activemq.artemis.core.server.QueueConfig;
 import org.apache.activemq.artemis.core.server.QueueFactory;
 import org.apache.activemq.artemis.core.server.impl.AckReason;
 import org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl;
@@ -76,6 +73,9 @@ import org.junit.jupiter.api.extension.ExtendWith;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
 //Parameters set in superclass
 @ExtendWith(ParameterizedTestExtension.class)
 public class InterruptedLargeMessageTest extends LargeMessageTestBase {
@@ -504,23 +504,18 @@ public class InterruptedLargeMessageTest extends 
LargeMessageTestBase {
 
       class NoPostACKQueue extends QueueImpl {
 
-         NoPostACKQueue(long id,
-                        SimpleString address,
-                        SimpleString name,
-                        Filter filter,
-                        SimpleString user,
-                        PageSubscription pageSubscription,
-                        boolean durable,
-                        boolean temporary,
-                        boolean autoCreated,
-                        ScheduledExecutorService scheduledExecutor,
-                        PostOffice postOffice,
-                        StorageManager storageManager,
-                        HierarchicalRepository<AddressSettings> 
addressSettingsRepository,
-                        ActiveMQServer server,
-                        ArtemisExecutor executor) {
-            super(id, address, name, filter, pageSubscription != null ? 
pageSubscription.getPagingStore() : null, pageSubscription, user, durable, 
temporary, autoCreated, scheduledExecutor,
-                  postOffice, storageManager, addressSettingsRepository, 
executor, server, null);
+         NoPostACKQueue(QueueConfiguration queueConfiguration,
+                               Filter filter,
+                               PagingStore pagingStore,
+                               PageSubscription pageSubscription,
+                               ScheduledExecutorService scheduledExecutor,
+                               PostOffice postOffice,
+                               StorageManager storageManager,
+                               HierarchicalRepository<AddressSettings> 
addressSettingsRepository,
+                               ArtemisExecutor executor,
+                               ActiveMQServer server,
+                               QueueFactory factory) {
+            super(queueConfiguration, filter, pagingStore, pageSubscription, 
scheduledExecutor, postOffice, storageManager, addressSettingsRepository, 
executor, server, factory);
          }
 
          @Override
@@ -561,29 +556,10 @@ public class InterruptedLargeMessageTest extends 
LargeMessageTestBase {
             this.server = server;
          }
 
-         @Override
-         public Queue createQueueWith(final QueueConfig config) {
-            return new NoPostACKQueue(config.id(), config.address(), 
config.name(), config.filter(), config.user(), config.pageSubscription(), 
config.isDurable(), config.isTemporary(), config.isAutoCreated(), 
scheduledExecutor, postOffice, storageManager, addressSettingsRepository, 
server, execFactory.getExecutor());
-         }
-
          @Override
          public Queue createQueueWith(QueueConfiguration config, PagingManager 
pagingManager, Filter filter) throws Exception {
-            return new NoPostACKQueue(config.getId(), config.getAddress(), 
config.getName(), filter, config.getUser(), 
QueueFactoryImpl.getPageSubscription(config, pagingManager, filter), 
config.isDurable(), config.isTemporary(), config.isAutoCreated(), 
scheduledExecutor, postOffice, storageManager, addressSettingsRepository, 
server, execFactory.getExecutor());
-         }
-
-         @Deprecated
-         @Override
-         public Queue createQueue(long persistenceID,
-                                  SimpleString address,
-                                  SimpleString name,
-                                  Filter filter,
-                                  PageSubscription pageSubscription,
-                                  SimpleString user,
-                                  boolean durable,
-                                  boolean temporary,
-                                  boolean autoCreated) {
-
-            return new NoPostACKQueue(persistenceID, address, name, filter, 
user, pageSubscription, durable, temporary, autoCreated, scheduledExecutor, 
postOffice, storageManager, addressSettingsRepository, server, 
execFactory.getExecutor());
+            PageSubscription pageSubscription = 
QueueFactoryImpl.getPageSubscription(config, pagingManager, filter);
+            return new NoPostACKQueue(config, filter, pageSubscription != null 
? pageSubscription.getPagingStore() : null, pageSubscription, 
scheduledExecutor, postOffice, storageManager, addressSettingsRepository, 
execFactory.getExecutor(), server, this);
          }
 
          /* (non-Javadoc)
diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/client/TopicCleanupTest.java
 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/client/TopicCleanupTest.java
index 8cb0dc6f62..b72195768c 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/client/TopicCleanupTest.java
+++ 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/client/TopicCleanupTest.java
@@ -30,6 +30,8 @@ import javax.jms.Session;
 import javax.jms.TextMessage;
 import javax.jms.Topic;
 
+import org.apache.activemq.artemis.api.core.QueueConfiguration;
+import org.apache.activemq.artemis.api.core.RoutingType;
 import org.apache.activemq.artemis.api.core.SimpleString;
 import org.apache.activemq.artemis.api.jms.ActiveMQJMSClient;
 import org.apache.activemq.artemis.core.filter.Filter;
@@ -86,12 +88,7 @@ public class TopicCleanupTest extends JMSTestBase {
          for (int i = 0; i < 100; i++) {
             long txid = storage.generateID();
 
-            final Queue queue = new QueueImpl(storage.generateID(), 
SimpleString.of("topic"),
-                                              SimpleString.of("topic"),
-                                              
FilterImpl.createFilter(Filter.GENERIC_IGNORED_FILTER), null,
-                                              true, false, false, 
server.getScheduledPool(), server.getPostOffice(),
-                                              storage, 
server.getAddressSettingsRepository(),
-                                              
server.getExecutorFactory().getExecutor(), server, null);
+            final Queue queue = new 
QueueImpl(QueueConfiguration.of("topic").setRoutingType(RoutingType.MULTICAST).setId(storage.generateID()),
 FilterImpl.createFilter(Filter.GENERIC_IGNORED_FILTER), null, null, 
server.getScheduledPool(), server.getPostOffice(), storage, 
server.getAddressSettingsRepository(), 
server.getExecutorFactory().getExecutor(), server, null);
 
             LocalQueueBinding binding = new 
LocalQueueBinding(queue.getAddress(), queue, server.getNodeID());
 
diff --git 
a/tests/timing-tests/src/test/java/org/apache/activemq/artemis/tests/timing/core/server/impl/QueueConcurrentTest.java
 
b/tests/timing-tests/src/test/java/org/apache/activemq/artemis/tests/timing/core/server/impl/QueueConcurrentTest.java
index 1e9ff72bb2..103b9bd067 100644
--- 
a/tests/timing-tests/src/test/java/org/apache/activemq/artemis/tests/timing/core/server/impl/QueueConcurrentTest.java
+++ 
b/tests/timing-tests/src/test/java/org/apache/activemq/artemis/tests/timing/core/server/impl/QueueConcurrentTest.java
@@ -16,15 +16,15 @@
  */
 package org.apache.activemq.artemis.tests.timing.core.server.impl;
 
+import java.lang.invoke.MethodHandles;
 import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.activemq.artemis.api.core.Message;
-import org.apache.activemq.artemis.api.core.SimpleString;
+import org.apache.activemq.artemis.api.core.QueueConfiguration;
 import org.apache.activemq.artemis.core.server.HandleStatus;
 import org.apache.activemq.artemis.core.server.MessageReference;
 import org.apache.activemq.artemis.core.server.Queue;
-import org.apache.activemq.artemis.core.server.QueueConfig;
 import org.apache.activemq.artemis.core.server.impl.QueueImpl;
 import 
org.apache.activemq.artemis.tests.unit.core.server.impl.fakes.FakeConsumer;
 import 
org.apache.activemq.artemis.tests.unit.core.server.impl.fakes.FakeQueueFactory;
@@ -34,7 +34,6 @@ import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import java.lang.invoke.MethodHandles;
 
 /**
  * A concurrent QueueTest
@@ -67,7 +66,7 @@ public class QueueConcurrentTest extends ActiveMQTestBase {
    @Test
    public void testConcurrentAddsDeliver() throws Exception {
 
-      QueueImpl queue = (QueueImpl) 
queueFactory.createQueueWith(QueueConfig.builderWith(1, 
SimpleString.of("address1"), 
SimpleString.of("queue1")).durable(false).temporary(false).autoCreated(false).build());
+      QueueImpl queue = (QueueImpl) 
queueFactory.createQueueWith(QueueConfiguration.of("queue1").setAddress("address1").setId(1L).setDurable(false).setTemporary(false).setAutoCreated(false),
 null, null);
 
       FakeConsumer consumer = new FakeConsumer();
 
diff --git 
a/tests/timing-tests/src/test/java/org/apache/activemq/artemis/tests/timing/core/server/impl/QueueImplTest.java
 
b/tests/timing-tests/src/test/java/org/apache/activemq/artemis/tests/timing/core/server/impl/QueueImplTest.java
index 5014921c54..ee95d60e07 100644
--- 
a/tests/timing-tests/src/test/java/org/apache/activemq/artemis/tests/timing/core/server/impl/QueueImplTest.java
+++ 
b/tests/timing-tests/src/test/java/org/apache/activemq/artemis/tests/timing/core/server/impl/QueueImplTest.java
@@ -28,6 +28,8 @@ import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.ScheduledThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 
+import org.apache.activemq.artemis.api.core.QueueConfiguration;
+import org.apache.activemq.artemis.api.core.RoutingType;
 import org.apache.activemq.artemis.api.core.SimpleString;
 import org.apache.activemq.artemis.core.server.Consumer;
 import org.apache.activemq.artemis.core.server.HandleStatus;
@@ -73,7 +75,7 @@ public class QueueImplTest extends ActiveMQTestBase {
 
    @Test
    public void testScheduledNoConsumer() throws Exception {
-      QueueImpl queue = new QueueImpl(1, SimpleString.of("address1"), 
SimpleString.of("queue1"), null, null, false, true, false, scheduledExecutor, 
null, null, null, ArtemisExecutor.delegate(executor), null, null);
+      QueueImpl queue = new 
QueueImpl(QueueConfiguration.of("address1").setRoutingType(RoutingType.MULTICAST).setDurable(false).setTemporary(true),
 null, null, null, scheduledExecutor, null, null, null, 
ArtemisExecutor.delegate(executor), null, null);
 
       // Send one scheduled
 
@@ -138,7 +140,7 @@ public class QueueImplTest extends ActiveMQTestBase {
 
    @Test
    public void testScheduled() throws Exception {
-      QueueImpl queue = new QueueImpl(1, SimpleString.of("address1"), 
SimpleString.of("queue1"), null, null, false, true, false, scheduledExecutor, 
null, null, null, ArtemisExecutor.delegate(executor), null, null);
+      QueueImpl queue = new 
QueueImpl(QueueConfiguration.of("queue1").setAddress("address1").setRoutingType(RoutingType.MULTICAST).setDurable(false).setTemporary(true),
 null, null, null, scheduledExecutor, null, null, null, 
ArtemisExecutor.delegate(executor), null, null);
 
       FakeConsumer consumer = null;
 
@@ -236,8 +238,8 @@ public class QueueImplTest extends ActiveMQTestBase {
          public void disconnect() {
          }
       };
-      QueueImpl queue = new QueueImpl(1, SimpleString.of("address1"), 
QueueImplTest.queue1, null, null, false, true, false, scheduledExecutor, null, 
null, null,
-                                      ArtemisExecutor.delegate(executor), 
null, null);
+      QueueImpl queue = new 
QueueImpl(QueueConfiguration.of(QueueImplTest.queue1).setAddress("address1").setRoutingType(RoutingType.MULTICAST).setDurable(false).setTemporary(true),
 null, null, null, scheduledExecutor, null, null, null, 
ArtemisExecutor.delegate(executor), null, null);
+
       MessageReference messageReference = generateReference(queue, 1);
       queue.addConsumer(consumer);
       messageReference.setScheduledDeliveryTime(System.currentTimeMillis() + 
200);
diff --git 
a/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/server/impl/QueueImplTest.java
 
b/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/server/impl/QueueImplTest.java
index 112d928246..4b7e0d4abf 100644
--- 
a/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/server/impl/QueueImplTest.java
+++ 
b/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/server/impl/QueueImplTest.java
@@ -36,6 +36,7 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.activemq.artemis.api.core.Message;
 import org.apache.activemq.artemis.api.core.QueueConfiguration;
+import org.apache.activemq.artemis.api.core.RoutingType;
 import org.apache.activemq.artemis.api.core.SimpleString;
 import org.apache.activemq.artemis.api.core.client.ClientMessage;
 import org.apache.activemq.artemis.api.core.client.ClientProducer;
@@ -1452,10 +1453,7 @@ public class QueueImplTest extends ActiveMQTestBase {
             throw new AssertionError();
          }
       };
-      final QueueImpl queue = new QueueImpl(1, SimpleString.of("address1"), 
QueueImplTest.queue1,
-                                            null, null, false, true, false,
-                                            scheduledExecutor, null, null, 
null,
-                                            
ArtemisExecutor.delegate(executor), defaultServer, null);
+      final QueueImpl queue = new 
QueueImpl(QueueConfiguration.of(QueueImplTest.queue1).setAddress("address1").setRoutingType(RoutingType.MULTICAST).setId(1L).setDurable(false).setTemporary(true),
 null, null, null, scheduledExecutor, null, null, null, 
ArtemisExecutor.delegate(executor), defaultServer, null);
       queue.addConsumer(groupConsumer);
       queue.addConsumer(noConsumer);
       final MessageReference firstMessageReference = generateReference(queue, 
1);
@@ -1494,7 +1492,13 @@ public class QueueImplTest extends ActiveMQTestBase {
    }
 
    private QueueImpl getQueue(SimpleString name, boolean durable, boolean 
temporary, Filter filter) {
-      return new QueueImpl(1, QueueImplTest.address1, name, filter, null, 
durable, temporary, false, scheduledExecutor,
-                           new FakePostOffice(), null, null, 
ArtemisExecutor.delegate(executor), defaultServer, null);
+      return new QueueImpl(QueueConfiguration.of(name)
+                              .setAddress("address1")
+                              .setRoutingType(RoutingType.MULTICAST)
+                              .setId(1L)
+                              .setDurable(durable)
+                              .setTemporary(temporary),
+                           filter, null, null, scheduledExecutor, new 
FakePostOffice(), null,
+                           null, ArtemisExecutor.delegate(executor), 
defaultServer, null);
    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to