@Override public void create(Broker broker, ConnectionContext context, ActiveMQDestination destination) throws Exception { for (VirtualDestination virt : virtualDestinations) { virt.create(broker, context, destination); } }
private void fireVirtualDestinationRemoveAdvisory(ConnectionContext context, ConsumerInfo info) throws Exception { VirtualDestination virtualDestination = virtualDestinationConsumers.remove(info); if (virtualDestination != null) { LOG.debug("Virtual consumer removed: {}, for virtual destination: {}", info, virtualDestination); ActiveMQTopic topic = AdvisorySupport.getVirtualDestinationConsumerAdvisoryTopic(virtualDestination.getVirtualDestination()); ActiveMQDestination dest = info.getDestination(); if (!dest.isTemporary() || destinations.containsKey(dest)) { fireConsumerAdvisory(context, dest, topic, info.createRemoveCommand()); } } }
@Override public Destination intercept(Destination destination) { final ActiveMQDestination activeMQDestination = destination.getActiveMQDestination(); Set matchingDestinations = destinationMap.get(activeMQDestination); List<Destination> destinations = new ArrayList<Destination>(); for (Iterator iter = matchingDestinations.iterator(); iter.hasNext();) { VirtualDestination virtualDestination = (VirtualDestination) iter.next(); Destination newDestination = virtualDestination.intercept(destination); destinations.add(newDestination); } if (!destinations.isEmpty()) { if (destinations.size() == 1) { return destinations.get(0); } else { // should rarely be used but here just in case return createCompositeDestination(destination, destinations); } } // check if the destination instead matches any mapped destinations Set mappedDestinations = mappedDestinationMap.get(activeMQDestination); if (!mappedDestinations.isEmpty()) { // create a mapped destination interceptor VirtualDestination virtualDestination = (VirtualDestination) mappedDestinations.toArray(new VirtualDestination[mappedDestinations.size()])[0]; return virtualDestination.interceptMappedDestination(destination); } return destination; }
public void setVirtualDestinations(VirtualDestination[] virtualDestinations) { destinationMap = new DestinationMap(); mappedDestinationMap = new DestinationMap(); this.virtualDestinations = virtualDestinations; for (int i = 0; i < virtualDestinations.length; i++) { VirtualDestination virtualDestination = virtualDestinations[i]; destinationMap.put(virtualDestination.getVirtualDestination(), virtualDestination); mappedDestinationMap.put(virtualDestination.getMappedDestinations(), virtualDestination); } }
@Override public boolean matches(VirtualDestination virtualDestination, ActiveMQDestination activeMQDest) { if (virtualDestination instanceof CompositeDestination) { DestinationFilter filter = DestinationFilter.parseFilter(virtualDestination.getMappedDestinations()); if (filter.matches(activeMQDest)) { return true; } } else if (virtualDestination instanceof VirtualTopic) { DestinationFilter filter = DestinationFilter.parseFilter(new ActiveMQQueue(((VirtualTopic) virtualDestination).getPrefix() + DestinationFilter.ANY_DESCENDENT)); if (filter.matches(activeMQDest)) { return true; } } return false; }
public synchronized Destination intercept(Destination destination) { Set virtualDestinations = destinationMap.get(destination.getActiveMQDestination()); List<Destination> destinations = new ArrayList<Destination>(); for (Iterator iter = virtualDestinations.iterator(); iter.hasNext();) { VirtualDestination virtualDestination = (VirtualDestination)iter.next(); Destination newDestination = virtualDestination.intercept(destination); destinations.add(newDestination); } if (!destinations.isEmpty()) { if (destinations.size() == 1) { return destinations.get(0); } else { // should rarely be used but here just in case return createCompositeDestination(destination, destinations); } } return destination; }
public void setVirtualDestinations(VirtualDestination[] virtualDestinations) { destinationMap = new DestinationMap(); mappedDestinationMap = new DestinationMap(); this.virtualDestinations = virtualDestinations; for (int i = 0; i < virtualDestinations.length; i++) { VirtualDestination virtualDestination = virtualDestinations[i]; destinationMap.put(virtualDestination.getVirtualDestination(), virtualDestination); mappedDestinationMap.put(virtualDestination.getMappedDestinations(), virtualDestination); } }
@Override public boolean matches(VirtualDestination virtualDestination, ActiveMQDestination activeMQDest) { if (virtualDestination instanceof CompositeDestination) { DestinationFilter filter = DestinationFilter.parseFilter(virtualDestination.getMappedDestinations()); if (filter.matches(activeMQDest)) { return true; } } else if (virtualDestination instanceof VirtualTopic) { DestinationFilter filter = DestinationFilter.parseFilter(new ActiveMQQueue(((VirtualTopic) virtualDestination).getPrefix() + DestinationFilter.ANY_DESCENDENT)); if (filter.matches(activeMQDest)) { return true; } } return false; }
if (!AdvisorySupport.isAdvisoryTopic(virtualDestination.getVirtualDestination())) { for (ConsumerInfo info : virtualDestinationConsumers.keySet()) {
public void setVirtualDestinations(VirtualDestination[] virtualDestinations) { destinationMap = new DestinationMap(); mappedDestinationMap = new DestinationMap(); this.virtualDestinations = virtualDestinations; for (int i = 0; i < virtualDestinations.length; i++) { VirtualDestination virtualDestination = virtualDestinations[i]; destinationMap.put(virtualDestination.getVirtualDestination(), virtualDestination); mappedDestinationMap.put(virtualDestination.getMappedDestinations(), virtualDestination); } }
@Override public Destination intercept(Destination destination) { final ActiveMQDestination activeMQDestination = destination.getActiveMQDestination(); Set matchingDestinations = destinationMap.get(activeMQDestination); List<Destination> destinations = new ArrayList<Destination>(); for (Iterator iter = matchingDestinations.iterator(); iter.hasNext();) { VirtualDestination virtualDestination = (VirtualDestination) iter.next(); Destination newDestination = virtualDestination.intercept(destination); destinations.add(newDestination); } if (!destinations.isEmpty()) { if (destinations.size() == 1) { return destinations.get(0); } else { // should rarely be used but here just in case return createCompositeDestination(destination, destinations); } } // check if the destination instead matches any mapped destinations Set mappedDestinations = mappedDestinationMap.get(activeMQDestination); if (!mappedDestinations.isEmpty()) { // create a mapped destination interceptor VirtualDestination virtualDestination = (VirtualDestination) mappedDestinations.toArray(new VirtualDestination[mappedDestinations.size()])[0]; return virtualDestination.interceptMappedDestination(destination); } return destination; }
@Override public synchronized void create(Broker broker, ConnectionContext context, ActiveMQDestination destination) throws Exception { for (VirtualDestination virt : virtualDestinations) { virt.create(broker, context, destination); } }
@Override public boolean matches(VirtualDestination virtualDestination, ActiveMQDestination activeMQDest) { if (virtualDestination instanceof CompositeDestination) { DestinationFilter filter = DestinationFilter.parseFilter(virtualDestination.getMappedDestinations()); if (filter.matches(activeMQDest)) { return true; } } else if (virtualDestination instanceof VirtualTopic) { DestinationFilter filter = DestinationFilter.parseFilter(new ActiveMQQueue(((VirtualTopic) virtualDestination).getPrefix() + DestinationFilter.ANY_DESCENDENT)); if (filter.matches(activeMQDest)) { return true; } } return false; }
try { if (!AdvisorySupport.isAdvisoryTopic(virtualDestination.getVirtualDestination())) {
public void setVirtualDestinations(VirtualDestination[] virtualDestinations) { destinationMap = new DestinationMap(); mappedDestinationMap = new DestinationMap(); this.virtualDestinations = virtualDestinations; for (int i = 0; i < virtualDestinations.length; i++) { VirtualDestination virtualDestination = virtualDestinations[i]; destinationMap.put(virtualDestination.getVirtualDestination(), virtualDestination); mappedDestinationMap.put(virtualDestination.getMappedDestinations(), virtualDestination); } }
@Override public Destination intercept(Destination destination) { final ActiveMQDestination activeMQDestination = destination.getActiveMQDestination(); Set matchingDestinations = destinationMap.get(activeMQDestination); List<Destination> destinations = new ArrayList<Destination>(); for (Iterator iter = matchingDestinations.iterator(); iter.hasNext();) { VirtualDestination virtualDestination = (VirtualDestination) iter.next(); Destination newDestination = virtualDestination.intercept(destination); destinations.add(newDestination); } if (!destinations.isEmpty()) { if (destinations.size() == 1) { return destinations.get(0); } else { // should rarely be used but here just in case return createCompositeDestination(destination, destinations); } } // check if the destination instead matches any mapped destinations Set mappedDestinations = mappedDestinationMap.get(activeMQDestination); if (!mappedDestinations.isEmpty()) { // create a mapped destination interceptor VirtualDestination virtualDestination = (VirtualDestination) mappedDestinations.toArray(new VirtualDestination[mappedDestinations.size()])[0]; return virtualDestination.interceptMappedDestination(destination); } return destination; }
@Override public synchronized void create(Broker broker, ConnectionContext context, ActiveMQDestination destination) throws Exception { for (VirtualDestination virt : virtualDestinations) { virt.create(broker, context, destination); } }
@Override public boolean matches(VirtualDestination virtualDestination, ActiveMQDestination activeMQDest) { if (virtualDestination instanceof CompositeDestination) { DestinationFilter filter = DestinationFilter.parseFilter(virtualDestination.getMappedDestinations()); if (filter.matches(activeMQDest)) { return true; } } else if (virtualDestination instanceof VirtualTopic) { DestinationFilter filter = DestinationFilter.parseFilter(new ActiveMQQueue(((VirtualTopic) virtualDestination).getPrefix() + DestinationFilter.ANY_DESCENDENT)); if (filter.matches(activeMQDest)) { return true; } } return false; }
info.setDestination(virtualDestination.getVirtualDestination()); if (virtualDestination instanceof VirtualTopic) { VirtualTopic vt = (VirtualTopic) virtualDestination;
@Override public Destination intercept(Destination destination) { final ActiveMQDestination activeMQDestination = destination.getActiveMQDestination(); Set matchingDestinations = destinationMap.get(activeMQDestination); List<Destination> destinations = new ArrayList<Destination>(); for (Iterator iter = matchingDestinations.iterator(); iter.hasNext();) { VirtualDestination virtualDestination = (VirtualDestination) iter.next(); Destination newDestination = virtualDestination.intercept(destination); destinations.add(newDestination); } if (!destinations.isEmpty()) { if (destinations.size() == 1) { return destinations.get(0); } else { // should rarely be used but here just in case return createCompositeDestination(destination, destinations); } } // check if the destination instead matches any mapped destinations Set mappedDestinations = mappedDestinationMap.get(activeMQDestination); if (!mappedDestinations.isEmpty()) { // create a mapped destination interceptor VirtualDestination virtualDestination = (VirtualDestination) mappedDestinations.toArray(new VirtualDestination[mappedDestinations.size()])[0]; return virtualDestination.interceptMappedDestination(destination); } return destination; }