public boolean applyPreReceive(MessageChannel channel) { for (ChannelInterceptor interceptor : interceptors) { if (!interceptor.preReceive(channel)) { triggerAfterReceiveCompletion(null, channel, null); return false; } this.receiveInterceptorIndex++; } return true; }
public boolean preReceive(MessageChannel channel, Deque<ChannelInterceptor> interceptorStack) { if (this.size > 0) { for (ChannelInterceptor interceptor : this.interceptors) { if (!interceptor.preReceive(channel)) { afterReceiveCompletion(null, channel, null, interceptorStack); return false; } interceptorStack.add(interceptor); } } return true; }
public boolean applyPreReceive(MessageChannel channel) { for (ChannelInterceptor interceptor : interceptors) { if (!interceptor.preReceive(channel)) { triggerAfterReceiveCompletion(null, channel, null); return false; } this.receiveInterceptorIndex++; } return true; }
@Test public void queueNameWithTruePreReceiveInterceptors() throws Exception { JmsChannelFactoryBean factoryBean = new JmsChannelFactoryBean(false); CachingConnectionFactory ccf = new CachingConnectionFactory(this.connectionFactory); ccf.setCacheConsumers(false); factoryBean.setConnectionFactory(ccf); factoryBean.setDestinationName("someDynamicQueue"); factoryBean.setPubSubDomain(false); List<ChannelInterceptor> interceptorList = new ArrayList<ChannelInterceptor>(); ChannelInterceptor interceptor = spy(new SampleInterceptor(true)); interceptorList.add(interceptor); factoryBean.setInterceptors(interceptorList); factoryBean.setBeanFactory(mock(BeanFactory.class)); factoryBean.afterPropertiesSet(); PollableJmsChannel channel = (PollableJmsChannel) factoryBean.getObject(); boolean sent1 = channel.send(new GenericMessage<String>("foo")); assertTrue(sent1); Message<?> result1 = channel.receive(10000); assertNotNull(result1); verify(interceptor, times(1)).preReceive(Mockito.any(MessageChannel.class)); verify(interceptor, times(1)).postReceive(Mockito.any(Message.class), Mockito.any(MessageChannel.class)); }
@Test public void queueNameWithFalsePreReceiveInterceptors() throws Exception { JmsChannelFactoryBean factoryBean = new JmsChannelFactoryBean(false); CachingConnectionFactory ccf = new CachingConnectionFactory(this.connectionFactory); ccf.setCacheConsumers(false); factoryBean.setConnectionFactory(ccf); factoryBean.setDestinationName("someDynamicQueue"); factoryBean.setPubSubDomain(false); List<ChannelInterceptor> interceptorList = new ArrayList<ChannelInterceptor>(); ChannelInterceptor interceptor = spy(new SampleInterceptor(false)); interceptorList.add(interceptor); factoryBean.setInterceptors(interceptorList); factoryBean.setBeanFactory(mock(BeanFactory.class)); factoryBean.afterPropertiesSet(); PollableJmsChannel channel = (PollableJmsChannel) factoryBean.getObject(); boolean sent1 = channel.send(new GenericMessage<String>("foo")); assertTrue(sent1); Message<?> result1 = channel.receive(10000); assertNull(result1); verify(interceptor, times(1)).preReceive(Mockito.any(MessageChannel.class)); verify(interceptor, times(0)).postReceive(Mockito.any(Message.class), Mockito.any(MessageChannel.class)); }
public boolean preReceive(MessageChannel channel, Deque<ChannelInterceptor> interceptorStack) { if (this.size > 0) { for (ChannelInterceptor interceptor : this.interceptors) { if (!interceptor.preReceive(channel)) { afterReceiveCompletion(null, channel, null, interceptorStack); return false; } interceptorStack.add(interceptor); } } return true; }
public boolean applyPreReceive(MessageChannel channel) { for (ChannelInterceptor interceptor : interceptors) { if (!interceptor.preReceive(channel)) { triggerAfterReceiveCompletion(null, channel, null); return false; } this.receiveInterceptorIndex++; } return true; }
public boolean applyPreReceive(MessageChannel channel) { for (ChannelInterceptor interceptor : interceptors) { if (!interceptor.preReceive(channel)) { triggerAfterReceiveCompletion(null, channel, null); return false; } this.receiveInterceptorIndex++; } return true; }