@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } ConsumerInfo other = (ConsumerInfo) obj; if (consumerId == null && other.consumerId != null) { return false; } else if (!consumerId.equals(other.consumerId)) { return false; } return true; }
public MessageGroupSet removeConsumer(ConsumerId consumerId) { SimpleMessageGroupSet ownedGroups = new SimpleMessageGroupSet(); for (Iterator<String> iter = map.keySet().iterator(); iter.hasNext();) { String group = iter.next(); ConsumerId owner = map.get(group); if (owner.equals(consumerId)) { ownedGroups.add(group); iter.remove(); } } return ownedGroups; }
public synchronized MessageGroupSet removeConsumer(ConsumerId consumerId) { MessageGroupSet answer = null; for (int i = 0; i < consumers.length; i++) { ConsumerId owner = consumers[i]; if (owner != null && owner.equals(consumerId)) { answer = createMessageGroupSet(i, answer); consumers[i] = null; } } if (answer == null) { // make an empty set answer = EmptyMessageGroupSet.INSTANCE; } return answer; }
protected void close(ConsumerId id) { for (Iterator<ActiveMQMessageConsumer> iter = consumers.iterator(); iter.hasNext();) { ActiveMQMessageConsumer c = iter.next(); if (c.getConsumerId().equals(id)) { try { c.close(); } catch (JMSException e) { LOG.warn("Exception closing consumer", e); } LOG.warn("Closed consumer on Command, " + id); break; } } }
protected void setPrefetchSize(ConsumerId id, int prefetch) { for (Iterator<ActiveMQMessageConsumer> iter = consumers.iterator(); iter.hasNext();) { ActiveMQMessageConsumer c = iter.next(); if (c.getConsumerId().equals(id)) { c.setPrefetchSize(prefetch); break; } } }
public synchronized MessageGroupSet removeConsumer(ConsumerId consumerId) { SimpleMessageGroupSet ownedGroups = new SimpleMessageGroupSet(); Map<String,ConsumerId> map = new HashMap<String, ConsumerId>(); map.putAll(cache); for (Iterator<String> iter = map.keySet().iterator(); iter.hasNext();) { String group = iter.next(); ConsumerId owner = map.get(group); if (owner.equals(consumerId)) { ownedGroups.add(group); } } for (String group:ownedGroups.getUnderlyingSet()){ cache.remove(group); } return ownedGroups; }
/** * Find a consumer that matches the id in the message dispatch notification * * @param messageDispatchNotification * @return sub or null if the subscription has been removed before dispatch * @throws JMSException */ private Subscription getMatchingSubscription(MessageDispatchNotification messageDispatchNotification) throws JMSException { Subscription sub = null; consumersLock.readLock().lock(); try { for (Subscription s : consumers) { if (messageDispatchNotification.getConsumerId().equals(s.getConsumerInfo().getConsumerId())) { sub = s; break; } } } finally { consumersLock.readLock().unlock(); } return sub; }
private boolean matches(Subscription candidate, ConsumerInfo info) { boolean matched = false; for (ConsumerId candidateId: candidate.getConsumerInfo().getNetworkConsumerIds()) { for (ConsumerId subId: info.getNetworkConsumerIds()) { if (candidateId.equals(subId)) { matched = true; break; } } } return matched; }
void dispatch(MessageDispatch message) { // TODO - we should use a Map for this indexed by consumerId for (ActiveMQMessageConsumer consumer : this.session.consumers) { ConsumerId consumerId = message.getConsumerId(); if (consumerId.equals(consumer.getConsumerId())) { consumer.dispatch(message); break; } } }
@Override public boolean matches(MessageReference node, MessageEvaluationContext context) throws IOException { ConsumerId targetConsumerId = node.getTargetConsumerId(); if (targetConsumerId != null) { if (!targetConsumerId.equals(info.getConsumerId())) { return false; } } try { return (selectorExpression == null || selectorExpression.matches(context)) && this.context.isAllowedToConsume(node); } catch (JMSException e) { LOG.info("Selector failed to evaluate: {}", e.getMessage(), e); return false; } }
if (id.equals(info.getConsumerId())) { nc.removeNetworkConsumerId(id); if (nc.isNetworkConsumersEmpty()) {
@Override public boolean removeEldestEntry(final Map.Entry eldest) { boolean remove = super.removeEldestEntry(eldest); if (remove) { if (destination != null) { for (Subscription s : destination.getConsumers()) { if (s.getConsumerInfo().getConsumerId().equals(eldest.getValue())) { s.getConsumerInfo().decrementAssignedGroupCount(destination.getActiveMQDestination()); break; } } } } return remove; } };
protected void onConsumerControl(ConsumerControl command) { if (command.isClose()) { for (ActiveMQSession session : this.sessions) { session.close(command.getConsumerId()); } } else { for (ActiveMQSession session : this.sessions) { session.setPrefetchSize(command.getConsumerId(), command.getPrefetch()); } for (ActiveMQConnectionConsumer connectionConsumer: connectionConsumers) { ConsumerInfo consumerInfo = connectionConsumer.getConsumerInfo(); if (consumerInfo.getConsumerId().equals(command.getConsumerId())) { consumerInfo.setPrefetchSize(command.getPrefetch()); } } } }
assignGroup(subscription, messageGroupOwners, node, groupId); } else { if (groupOwner.equals(subscription.getConsumerInfo().getConsumerId())) {
public MessageGroupSet removeConsumer(ConsumerId consumerId) { SimpleMessageGroupSet ownedGroups = new SimpleMessageGroupSet(); for (Iterator<String> iter = map.keySet().iterator(); iter.hasNext();) { String group = iter.next(); ConsumerId owner = map.get(group); if (owner.equals(consumerId)) { ownedGroups.add(group); iter.remove(); } } return ownedGroups; }
public MessageGroupSet removeConsumer(ConsumerId consumerId) { SimpleMessageGroupSet ownedGroups = new SimpleMessageGroupSet(); for (Iterator<String> iter = map.keySet().iterator(); iter.hasNext();) { String group = iter.next(); ConsumerId owner = map.get(group); if (owner.equals(consumerId)) { ownedGroups.add(group); iter.remove(); } } return ownedGroups; }
protected void setPrefetchSize(ConsumerId id, int prefetch) { for (Iterator<ActiveMQMessageConsumer> iter = consumers.iterator(); iter.hasNext();) { ActiveMQMessageConsumer c = iter.next(); if (c.getConsumerId().equals(id)) { c.setPrefetchSize(prefetch); break; } } }
private boolean matches(Subscription candidate, ConsumerInfo info) { boolean matched = false; for (ConsumerId candidateId: candidate.getConsumerInfo().getNetworkConsumerIds()) { for (ConsumerId subId: info.getNetworkConsumerIds()) { if (candidateId.equals(subId)) { matched = true; break; } } } return matched; }
void dispatch(MessageDispatch message) { // TODO - we should use a Map for this indexed by consumerId for (ActiveMQMessageConsumer consumer : this.session.consumers) { ConsumerId consumerId = message.getConsumerId(); if (consumerId.equals(consumer.getConsumerId())) { consumer.dispatch(message); break; } } }
private boolean matches(Subscription candidate, ConsumerInfo info) { boolean matched = false; for (ConsumerId candidateId: candidate.getConsumerInfo().getNetworkConsumerIds()) { for (ConsumerId subId: info.getNetworkConsumerIds()) { if (candidateId.equals(subId)) { matched = true; break; } } } return matched; }