Skip to content

Commit

Permalink
ARTEMIS-5282 remove deprecated queue-related methods
Browse files Browse the repository at this point in the history
All but one QueueImpl constructor was deprecated years ago in
2efa44d. 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.
  • Loading branch information
jbertram authored and gemmellr committed Feb 14, 2025
1 parent 6dd8837 commit 5f83560
Show file tree
Hide file tree
Showing 12 changed files with 47 additions and 473 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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;

/**
Expand All @@ -31,25 +29,8 @@
*/
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
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
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;
Expand Down Expand Up @@ -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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@

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;
Expand All @@ -30,7 +29,6 @@
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;
Expand Down Expand Up @@ -74,19 +72,6 @@ public void setPostOffice(final PostOffice postOffice) {
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(config), config.isNonDestructive(), config.isAutoDelete(), config.getAutoDeleteDelay(), config.getAutoDeleteMessageCount(), config.isConfigurationManaged(), scheduledExecutor, postOffice, storageManager, addressSettingsRepository, executorFactory.getExecutor(), server, this);
} 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.isPurgeOnNoConsumers(), config.isAutoDelete(), config.getAutoDeleteDelay(), config.getAutoDeleteMessageCount(), config.isConfigurationManaged(), config.getRingSize(), scheduledExecutor, postOffice, storageManager, addressSettingsRepository, executorFactory.getExecutor(), server, this);
}
server.getCriticalAnalyzer().add(queue);
return queue;
}

@Override
public Queue createQueueWith(final QueueConfiguration config, PagingManager pagingManager, Filter filter) {
validateState(config);
Expand All @@ -101,35 +86,6 @@ public Queue createQueueWith(final QueueConfiguration config, PagingManager pagi
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(), ActiveMQDefaultConfiguration.getDefaultGroupFirstKey(), ActiveMQDefaultConfiguration.getDefaultConsumersBeforeDispatch(), ActiveMQDefaultConfiguration.getDefaultDelayBeforeDispatch(), ActiveMQDefaultConfiguration.getDefaultPurgeOnNoConsumers(), lastValueKey(addressSettings), ActiveMQDefaultConfiguration.getDefaultNonDestructive(), ActiveMQDefaultConfiguration.getDefaultQueueAutoDelete(autoCreated), ActiveMQDefaultConfiguration.getDefaultQueueAutoDeleteDelay(), ActiveMQDefaultConfiguration.getDefaultQueueAutoDeleteMessageCount(), false, scheduledExecutor, postOffice, storageManager, addressSettingsRepository, executorFactory.getExecutor(), server, this);
} 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);
Expand All @@ -152,16 +108,6 @@ public static PageSubscription getPageSubscription(QueueConfiguration queueConfi
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();
Expand All @@ -172,16 +118,6 @@ private static SimpleString lastValueKey(final QueueConfiguration config) {
}
}

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!");
Expand Down
Loading

0 comments on commit 5f83560

Please sign in to comment.