private DestinationFilter getVirtualTopicConsumerDestinationFilter() { // created at startup, so no sync needed if (virtualConsumerDestinationFilter == null) { Set <ActiveMQQueue> consumerDestinations = new HashSet<>(); if (destinationInterceptors != null) { for (DestinationInterceptor interceptor : destinationInterceptors) { if (interceptor instanceof VirtualDestinationInterceptor) { VirtualDestinationInterceptor virtualDestinationInterceptor = (VirtualDestinationInterceptor) interceptor; for (VirtualDestination virtualDestination: virtualDestinationInterceptor.getVirtualDestinations()) { if (virtualDestination instanceof VirtualTopic) { consumerDestinations.add(new ActiveMQQueue(((VirtualTopic) virtualDestination).getPrefix() + DestinationFilter.ANY_DESCENDENT)); } if (isUseVirtualDestSubs()) { try { broker.virtualDestinationAdded(getAdminConnectionContext(), virtualDestination); LOG.debug("Adding virtual destination: {}", virtualDestination); } catch (Exception e) { LOG.warn("Could not fire virtual destination consumer advisory", e); } } } } } } ActiveMQQueue filter = new ActiveMQQueue(); filter.setCompositeDestinations(consumerDestinations.toArray(new ActiveMQDestination[]{})); virtualConsumerDestinationFilter = DestinationFilter.parseFilter(filter); } return virtualConsumerDestinationFilter; }
private DestinationFilter getVirtualTopicConsumerDestinationFilter() { // created at startup, so no sync needed if (virtualConsumerDestinationFilter == null) { Set <ActiveMQQueue> consumerDestinations = new HashSet<>(); if (destinationInterceptors != null) { for (DestinationInterceptor interceptor : destinationInterceptors) { if (interceptor instanceof VirtualDestinationInterceptor) { VirtualDestinationInterceptor virtualDestinationInterceptor = (VirtualDestinationInterceptor) interceptor; for (VirtualDestination virtualDestination: virtualDestinationInterceptor.getVirtualDestinations()) { if (virtualDestination instanceof VirtualTopic) { consumerDestinations.add(new ActiveMQQueue(((VirtualTopic) virtualDestination).getPrefix() + DestinationFilter.ANY_DESCENDENT)); } if (isUseVirtualDestSubs()) { try { broker.virtualDestinationAdded(getAdminConnectionContext(), virtualDestination); LOG.debug("Adding virtual destination: {}", virtualDestination); } catch (Exception e) { LOG.warn("Could not fire virtual destination consumer advisory", e); } } } } } } ActiveMQQueue filter = new ActiveMQQueue(); filter.setCompositeDestinations(consumerDestinations.toArray(new ActiveMQDestination[]{})); virtualConsumerDestinationFilter = DestinationFilter.parseFilter(filter); } return virtualConsumerDestinationFilter; }
private DestinationFilter getVirtualTopicConsumerDestinationFilter() { // created at startup, so no sync needed if (virtualConsumerDestinationFilter == null) { Set <ActiveMQQueue> consumerDestinations = new HashSet<>(); if (destinationInterceptors != null) { for (DestinationInterceptor interceptor : destinationInterceptors) { if (interceptor instanceof VirtualDestinationInterceptor) { VirtualDestinationInterceptor virtualDestinationInterceptor = (VirtualDestinationInterceptor) interceptor; for (VirtualDestination virtualDestination: virtualDestinationInterceptor.getVirtualDestinations()) { if (virtualDestination instanceof VirtualTopic) { consumerDestinations.add(new ActiveMQQueue(((VirtualTopic) virtualDestination).getPrefix() + DestinationFilter.ANY_DESCENDENT)); } if (isUseVirtualDestSubs()) { try { broker.virtualDestinationAdded(getAdminConnectionContext(), virtualDestination); LOG.debug("Adding virtual destination: {}", virtualDestination); } catch (Exception e) { LOG.warn("Could not fire virtual destination consumer advisory", e); } } } } } } ActiveMQQueue filter = new ActiveMQQueue(); filter.setCompositeDestinations(consumerDestinations.toArray(new ActiveMQDestination[]{})); virtualConsumerDestinationFilter = DestinationFilter.parseFilter(filter); } return virtualConsumerDestinationFilter; }
private DestinationFilter getVirtualTopicConsumerDestinationFilter() { // created at startup, so no sync needed if (virtualConsumerDestinationFilter == null) { Set <ActiveMQQueue> consumerDestinations = new HashSet<>(); if (destinationInterceptors != null) { for (DestinationInterceptor interceptor : destinationInterceptors) { if (interceptor instanceof VirtualDestinationInterceptor) { VirtualDestinationInterceptor virtualDestinationInterceptor = (VirtualDestinationInterceptor) interceptor; for (VirtualDestination virtualDestination: virtualDestinationInterceptor.getVirtualDestinations()) { if (virtualDestination instanceof VirtualTopic) { consumerDestinations.add(new ActiveMQQueue(((VirtualTopic) virtualDestination).getPrefix() + DestinationFilter.ANY_DESCENDENT)); } if (isUseVirtualDestSubs()) { try { broker.virtualDestinationAdded(getAdminConnectionContext(), virtualDestination); LOG.debug("Adding virtual destination: {}", virtualDestination); } catch (Exception e) { LOG.warn("Could not fire virtual destination consumer advisory", e); } } } } } } ActiveMQQueue filter = new ActiveMQQueue(); filter.setCompositeDestinations(consumerDestinations.toArray(new ActiveMQDestination[]{})); virtualConsumerDestinationFilter = DestinationFilter.parseFilter(filter); } return virtualConsumerDestinationFilter; }
Collections.addAll(existingVirtualDests, virtualDestinationInterceptor.getVirtualDestinations());