protected Set<ActiveMQDestination> getInactiveDestinations() { Set<ActiveMQDestination> inactiveDestinations = super.getInactiveDestinations(); for (Iterator<ActiveMQDestination> iter = inactiveDestinations.iterator(); iter.hasNext();) { ActiveMQDestination dest = iter.next(); if (!dest.isQueue()) { iter.remove(); } } return inactiveDestinations; }
public static ActiveMQTopic getVirtualDestinationConsumerAdvisoryTopic(ActiveMQDestination destination) { String prefix; if (destination.isQueue()) { prefix = QUEUE_VIRTUAL_DESTINATION_CONSUMER_ADVISORY_TOPIC_PREFIX; } else { prefix = TOPIC_VIRTUAL_DESTINATION_CONSUMER_ADVISORY_TOPIC_PREFIX; } return getAdvisoryTopic(destination, prefix, true); }
public static ActiveMQTopic getConsumerAdvisoryTopic(ActiveMQDestination destination) { String prefix; if (destination.isQueue()) { prefix = QUEUE_CONSUMER_ADVISORY_TOPIC_PREFIX; } else { prefix = TOPIC_CONSUMER_ADVISORY_TOPIC_PREFIX; } return getAdvisoryTopic(destination, prefix, true); }
public static ActiveMQTopic getProducerAdvisoryTopic(ActiveMQDestination destination) { String prefix; if (destination.isQueue()) { prefix = QUEUE_PRODUCER_ADVISORY_TOPIC_PREFIX; } else { prefix = TOPIC_PRODUCER_ADVISORY_TOPIC_PREFIX; } return getAdvisoryTopic(destination, prefix, false); }
/** * Retrieve a set of all TemporaryQueues be used by the Broker * @return all TemporaryQueues */ public Set<ActiveMQTempQueue> getTempQueues(){ Set<ActiveMQTempQueue> result = new HashSet<ActiveMQTempQueue>(); for (ActiveMQDestination destination:getDestinations()){ if (destination.isQueue() && destination.isTemporary()){ result.add((ActiveMQTempQueue) destination); } } return result; }
public static ActiveMQTopic getNoConsumersAdvisoryTopic(ActiveMQDestination destination) { if (destination.isQueue()) { return getNoQueueConsumersAdvisoryTopic(destination); } return getNoTopicConsumersAdvisoryTopic(destination); }
private MessageStore createMessageStore(ActiveMQDestination destination) throws IOException { if (destination.isQueue()) { return createQueueMessageStore((ActiveMQQueue)destination); } else { return createTopicMessageStore((ActiveMQTopic)destination); } }
public static ActiveMQTopic getExpiredMessageTopic(ActiveMQDestination destination) { if (destination.isQueue()) { return getExpiredQueueMessageAdvisoryTopic(destination); } return getExpiredTopicMessageAdvisoryTopic(destination); }
/** * @return true if the destination is a Queue */ @Override public boolean isDestinationQueue() { ConsumerInfo info = getConsumerInfo(); if (info != null) { ActiveMQDestination dest = info.getDestination(); return dest.isQueue(); } return false; }
private MessageStore findMessageStore(ActiveMQDestination destination) { ProxyMessageStore proxyMessageStore = null; try { if (destination.isQueue()) { proxyMessageStore = (ProxyMessageStore) persistenceAdapter.createQueueMessageStore((ActiveMQQueue) destination); } else { proxyMessageStore = (ProxyMessageStore) persistenceAdapter.createTopicMessageStore((ActiveMQTopic) destination); } } catch (IOException error) { throw new RuntimeException("Failed to find/create message store for destination: " + destination, error); } return proxyMessageStore.getDelegate(); }
public ActiveMQDestination getDeadLetterQueueFor(Message message, Subscription subscription) { if (message.getDestination().isQueue()) { return createDestination(message, queuePrefix, queueSuffix, useQueueForQueueMessages, subscription); } else { return createDestination(message, topicPrefix, topicSuffix, useQueueForTopicMessages, subscription); } }
private KahaDBMessageStore findMatchingStore(ActiveMQDestination activeMQDestination) throws IOException { ProxyMessageStore store = (ProxyMessageStore) storeCache.get(convert(activeMQDestination)); if (store == null) { if (activeMQDestination.isQueue()) { store = (ProxyMessageStore) createQueueMessageStore((ActiveMQQueue) activeMQDestination); } else { store = (ProxyMessageStore) createTopicMessageStore((ActiveMQTopic) activeMQDestination); } } return (KahaDBMessageStore) store.getDelegate(); }
public boolean shouldRecordVirtualDestination(ActiveMQDestination destination) { return isUseVirtualTopics() && destination.isQueue() && getVirtualTopicConsumerDestinationFilter().matches(destination); }
public JDBCMessageStore(JDBCPersistenceAdapter persistenceAdapter, JDBCAdapter adapter, WireFormat wireFormat, ActiveMQDestination destination, ActiveMQMessageAudit audit) throws IOException { super(destination); this.persistenceAdapter = persistenceAdapter; this.adapter = adapter; this.wireFormat = wireFormat; this.audit = audit; if (destination.isQueue() && persistenceAdapter.getBrokerService().shouldRecordVirtualDestination(destination)) { recordDestinationCreation(destination); } resetBatching(); }
@Override public Destination interceptMappedDestination(Destination destination) { if (!isForwardOnly() && destination.getActiveMQDestination().isQueue()) { // recover retroactive messages in mapped Queue return new MappedQueueFilter(getVirtualDestination(), destination); } return destination; }
@Override public void removeDestination(Destination dest) { ActiveMQDestination destination = dest.getActiveMQDestination(); if (!destination.isTemporary()) { if (destination.isQueue()) { persistenceAdapter.removeQueueMessageStore((ActiveMQQueue) destination); } else if (!AdvisorySupport.isAdvisoryTopic(destination)) { persistenceAdapter.removeTopicMessageStore((ActiveMQTopic) destination); } } }
@Override public void create(Broker broker, ConnectionContext context, ActiveMQDestination destination) throws Exception { if (destination.isQueue() && destination.isPattern()) { DestinationFilter filter = DestinationFilter.parseFilter(new ActiveMQQueue(prefix + DestinationFilter.ANY_DESCENDENT)); if (filter.matches(destination)) { broker.addDestination(context, destination, false); } } }
private boolean isDuplicateSuppressionOff(final ConsumerInfo consumerInfo) { return !configuration.isSuppressDuplicateQueueSubscriptions() && !configuration.isSuppressDuplicateTopicSubscriptions() || consumerInfo.getDestination().isQueue() && !configuration.isSuppressDuplicateQueueSubscriptions() || consumerInfo.getDestination().isTopic() && !configuration.isSuppressDuplicateTopicSubscriptions(); }
private boolean canConduit(DemandSubscription ds) { return ds.isStaticallyIncluded() || ds.getRemoteInfo().getDestination().isTopic() || !ds.getRemoteInfo().isNetworkSubscription() || (ds.getRemoteInfo().getDestination().isQueue() && configuration.isConduitNetworkQueueSubscriptions()); }