/** * Create the default destination interceptor */ protected DestinationInterceptor[] createDefaultDestinationInterceptor() { List<DestinationInterceptor> answer = new ArrayList<>(); if (isUseVirtualTopics()) { VirtualDestinationInterceptor interceptor = new VirtualDestinationInterceptor(); VirtualTopic virtualTopic = new VirtualTopic(); virtualTopic.setName("VirtualTopic.>"); VirtualDestination[] virtualDestinations = { virtualTopic }; interceptor.setVirtualDestinations(virtualDestinations); answer.add(interceptor); } if (isUseMirroredQueues()) { MirroredQueue interceptor = new MirroredQueue(); answer.add(interceptor); } DestinationInterceptor[] array = new DestinationInterceptor[answer.size()]; answer.toArray(array); return array; }
public Destination intercept(final Destination destination) { if (destination.getActiveMQDestination().isQueue()) { if (!destination.getActiveMQDestination().isTemporary() || brokerService.isUseTempMirroredQueues()) { try { final Destination mirrorDestination = getMirrorDestination(destination); if (mirrorDestination != null) { return new DestinationFilter(destination) { public void send(ProducerBrokerExchange context, Message message) throws Exception { message.setDestination(mirrorDestination.getActiveMQDestination()); mirrorDestination.send(context, message); if (isCopyMessage()) { message = message.copy(); } message.setDestination(destination.getActiveMQDestination()); message.setMemoryUsage(null); // set this to null so that it will use the queue memoryUsage instance instead of the topic. super.send(context, message); } }; } } catch (Exception e) { LOG.error("Failed to lookup the mirror destination for: {}", destination, e); } } } return destination; }
protected Destination getMirrorDestination(Destination destination) throws Exception { if (brokerService == null) { throw new IllegalArgumentException("No brokerService injected!"); } ActiveMQDestination topic = getMirrorTopic(destination.getActiveMQDestination()); return brokerService.getDestination(topic); }
public void send(ProducerBrokerExchange context, Message message) throws Exception { message.setDestination(mirrorDestination.getActiveMQDestination()); mirrorDestination.send(context, message); if (isCopyMessage()) { message = message.copy(); } message.setDestination(destination.getActiveMQDestination()); message.setMemoryUsage(null); // set this to null so that it will use the queue memoryUsage instance instead of the topic. super.send(context, message); } };
public void send(ProducerBrokerExchange context, Message message) throws Exception { message.setDestination(mirrorDestination.getActiveMQDestination()); mirrorDestination.send(context, message); if (isCopyMessage()) { message = message.copy(); } message.setDestination(destination.getActiveMQDestination()); super.send(context, message); } };
public void remove(Destination destination) { if (brokerService == null) { throw new IllegalArgumentException("No brokerService injected!"); } ActiveMQDestination topic = getMirrorTopic(destination.getActiveMQDestination()); if (topic != null) { try { brokerService.removeDestination(topic); } catch (Exception e) { LOG.error("Failed to remove mirror destination for {}", destination, e); } } }
public void send(ProducerBrokerExchange context, Message message) throws Exception { message.setDestination(mirrorDestination.getActiveMQDestination()); mirrorDestination.send(context, message); if (isCopyMessage()) { message = message.copy(); } message.setDestination(destination.getActiveMQDestination()); message.setMemoryUsage(null); // set this to null so that it will use the queue memoryUsage instance instead of the topic. super.send(context, message); } };
/** * Create the default destination interceptor */ protected DestinationInterceptor[] createDefaultDestinationInterceptor() { List<DestinationInterceptor> answer = new ArrayList<>(); if (isUseVirtualTopics()) { VirtualDestinationInterceptor interceptor = new VirtualDestinationInterceptor(); VirtualTopic virtualTopic = new VirtualTopic(); virtualTopic.setName("VirtualTopic.>"); VirtualDestination[] virtualDestinations = { virtualTopic }; interceptor.setVirtualDestinations(virtualDestinations); answer.add(interceptor); } if (isUseMirroredQueues()) { MirroredQueue interceptor = new MirroredQueue(); answer.add(interceptor); } DestinationInterceptor[] array = new DestinationInterceptor[answer.size()]; answer.toArray(array); return array; }
public Destination intercept(final Destination destination) { if (destination.getActiveMQDestination().isQueue()) { if (!destination.getActiveMQDestination().isTemporary() || brokerService.isUseTempMirroredQueues()) { try { final Destination mirrorDestination = getMirrorDestination(destination); if (mirrorDestination != null) { return new DestinationFilter(destination) { public void send(ProducerBrokerExchange context, Message message) throws Exception { message.setDestination(mirrorDestination.getActiveMQDestination()); mirrorDestination.send(context, message); if (isCopyMessage()) { message = message.copy(); } message.setDestination(destination.getActiveMQDestination()); super.send(context, message); } }; } } catch (Exception e) { LOG.error("Failed to lookup the mirror destination for: " + destination + ". Reason: " + e, e); } } } return destination; }
public void remove(Destination destination) { if (brokerService == null) { throw new IllegalArgumentException("No brokerService injected!"); } ActiveMQDestination topic = getMirrorTopic(destination.getActiveMQDestination()); if (topic != null) { try { brokerService.removeDestination(topic); } catch (Exception e) { LOG.error("Failed to remove mirror destination for {}", destination, e); } } }
public void send(ProducerBrokerExchange context, Message message) throws Exception { message.setDestination(mirrorDestination.getActiveMQDestination()); mirrorDestination.send(context, message); if (isCopyMessage()) { message = message.copy(); } message.setDestination(destination.getActiveMQDestination()); message.setMemoryUsage(null); // set this to null so that it will use the queue memoryUsage instance instead of the topic. super.send(context, message); } };
/** * Create the default destination interceptor */ protected DestinationInterceptor[] createDefaultDestinationInterceptor() { List<DestinationInterceptor> answer = new ArrayList<>(); if (isUseVirtualTopics()) { VirtualDestinationInterceptor interceptor = new VirtualDestinationInterceptor(); VirtualTopic virtualTopic = new VirtualTopic(); virtualTopic.setName("VirtualTopic.>"); VirtualDestination[] virtualDestinations = { virtualTopic }; interceptor.setVirtualDestinations(virtualDestinations); answer.add(interceptor); } if (isUseMirroredQueues()) { MirroredQueue interceptor = new MirroredQueue(); answer.add(interceptor); } DestinationInterceptor[] array = new DestinationInterceptor[answer.size()]; answer.toArray(array); return array; }
public Destination intercept(final Destination destination) { if (destination.getActiveMQDestination().isQueue()) { if (!destination.getActiveMQDestination().isTemporary() || brokerService.isUseTempMirroredQueues()) { try { final Destination mirrorDestination = getMirrorDestination(destination); if (mirrorDestination != null) { return new DestinationFilter(destination) { public void send(ProducerBrokerExchange context, Message message) throws Exception { message.setDestination(mirrorDestination.getActiveMQDestination()); mirrorDestination.send(context, message); if (isCopyMessage()) { message = message.copy(); } message.setDestination(destination.getActiveMQDestination()); message.setMemoryUsage(null); // set this to null so that it will use the queue memoryUsage instance instead of the topic. super.send(context, message); } }; } } catch (Exception e) { LOG.error("Failed to lookup the mirror destination for: {}", destination, e); } } } return destination; }
public void remove(Destination destination) { if (brokerService == null) { throw new IllegalArgumentException("No brokerService injected!"); } ActiveMQDestination topic = getMirrorTopic(destination.getActiveMQDestination()); if (topic != null) { try { brokerService.removeDestination(topic); } catch (Exception e) { LOG.error("Failed to remove mirror destination for {}", destination, e); } } }
public void send(ProducerBrokerExchange context, Message message) throws Exception { message.setDestination(mirrorDestination.getActiveMQDestination()); mirrorDestination.send(context, message); if (isCopyMessage()) { message = message.copy(); } message.setDestination(destination.getActiveMQDestination()); message.setMemoryUsage(null); // set this to null so that it will use the queue memoryUsage instance instead of the topic. super.send(context, message); } };
/** * Create the default destination interceptor */ protected DestinationInterceptor[] createDefaultDestinationInterceptor() { List<DestinationInterceptor> answer = new ArrayList<>(); if (isUseVirtualTopics()) { VirtualDestinationInterceptor interceptor = new VirtualDestinationInterceptor(); VirtualTopic virtualTopic = new VirtualTopic(); virtualTopic.setName("VirtualTopic.>"); VirtualDestination[] virtualDestinations = { virtualTopic }; interceptor.setVirtualDestinations(virtualDestinations); answer.add(interceptor); } if (isUseMirroredQueues()) { MirroredQueue interceptor = new MirroredQueue(); answer.add(interceptor); } DestinationInterceptor[] array = new DestinationInterceptor[answer.size()]; answer.toArray(array); return array; }
public Destination intercept(final Destination destination) { if (destination.getActiveMQDestination().isQueue()) { if (!destination.getActiveMQDestination().isTemporary() || brokerService.isUseTempMirroredQueues()) { try { final Destination mirrorDestination = getMirrorDestination(destination); if (mirrorDestination != null) { return new DestinationFilter(destination) { public void send(ProducerBrokerExchange context, Message message) throws Exception { message.setDestination(mirrorDestination.getActiveMQDestination()); mirrorDestination.send(context, message); if (isCopyMessage()) { message = message.copy(); } message.setDestination(destination.getActiveMQDestination()); message.setMemoryUsage(null); // set this to null so that it will use the queue memoryUsage instance instead of the topic. super.send(context, message); } }; } } catch (Exception e) { LOG.error("Failed to lookup the mirror destination for: {}", destination, e); } } } return destination; }
protected Destination getMirrorDestination(Destination destination) throws Exception { if (brokerService == null) { throw new IllegalArgumentException("No brokerService injected!"); } ActiveMQDestination topic = getMirrorTopic(destination.getActiveMQDestination()); return brokerService.getDestination(topic); }
/** * Create the default destination interceptor */ protected DestinationInterceptor[] createDefaultDestinationInterceptor() { List<DestinationInterceptor> answer = new ArrayList<DestinationInterceptor>(); if (isUseVirtualTopics()) { VirtualDestinationInterceptor interceptor = new VirtualDestinationInterceptor(); VirtualTopic virtualTopic = new VirtualTopic(); virtualTopic.setName("VirtualTopic.>"); VirtualDestination[] virtualDestinations = { virtualTopic }; interceptor.setVirtualDestinations(virtualDestinations); answer.add(interceptor); } if (isUseMirroredQueues()) { MirroredQueue interceptor = new MirroredQueue(); answer.add(interceptor); } DestinationInterceptor[] array = new DestinationInterceptor[answer.size()]; answer.toArray(array); return array; }
public Destination intercept(final Destination destination) { if (destination.getActiveMQDestination().isQueue()) { if (!destination.getActiveMQDestination().isTemporary() || brokerService.isUseTempMirroredQueues()) { try { final Destination mirrorDestination = getMirrorDestination(destination); if (mirrorDestination != null) { return new DestinationFilter(destination) { public void send(ProducerBrokerExchange context, Message message) throws Exception { message.setDestination(mirrorDestination.getActiveMQDestination()); mirrorDestination.send(context, message); if (isCopyMessage()) { message = message.copy(); } message.setDestination(destination.getActiveMQDestination()); message.setMemoryUsage(null); // set this to null so that it will use the queue memoryUsage instance instead of the topic. super.send(context, message); } }; } } catch (Exception e) { LOG.error("Failed to lookup the mirror destination for: {}", destination, e); } } } return destination; }