List of usage examples for org.springframework.integration.channel ChannelInterceptorAware addInterceptor
void addInterceptor(ChannelInterceptor interceptor);
From source file:xolpoc.plugins.StreamPlugin.java
private MessageChannel tapOutputChannel(MessageChannel tapChannel, ChannelInterceptorAware outputChannel) { outputChannel.addInterceptor(new WireTap(tapChannel)); return tapChannel; }
From source file:org.springframework.integration.config.GlobalChannelInterceptorProcessor.java
/** * Adds any interceptor whose pattern matches against the channel's name. *//*w ww. j ava 2 s.c o m*/ private void addMatchingInterceptors(ChannelInterceptorAware channel, String beanName) { if (logger.isDebugEnabled()) { logger.debug("Applying global interceptors on channel '" + beanName + "'"); } List<GlobalChannelInterceptorWrapper> tempInterceptors = new ArrayList<GlobalChannelInterceptorWrapper>(); for (GlobalChannelInterceptorWrapper globalChannelInterceptorWrapper : this.positiveOrderInterceptors) { String[] patterns = globalChannelInterceptorWrapper.getPatterns(); patterns = StringUtils.trimArrayElements(patterns); if (PatternMatchUtils.simpleMatch(patterns, beanName)) { tempInterceptors.add(globalChannelInterceptorWrapper); } } Collections.sort(tempInterceptors, this.comparator); for (GlobalChannelInterceptorWrapper next : tempInterceptors) { ChannelInterceptor channelInterceptor = next.getChannelInterceptor(); if (!(channelInterceptor instanceof VetoCapableInterceptor) || ((VetoCapableInterceptor) channelInterceptor).shouldIntercept(beanName, channel)) { channel.addInterceptor(channelInterceptor); } } tempInterceptors.clear(); for (GlobalChannelInterceptorWrapper globalChannelInterceptorWrapper : this.negativeOrderInterceptors) { String[] patterns = globalChannelInterceptorWrapper.getPatterns(); patterns = StringUtils.trimArrayElements(patterns); if (PatternMatchUtils.simpleMatch(patterns, beanName)) { tempInterceptors.add(globalChannelInterceptorWrapper); } } Collections.sort(tempInterceptors, this.comparator); if (!tempInterceptors.isEmpty()) { for (int i = tempInterceptors.size() - 1; i >= 0; i--) { ChannelInterceptor channelInterceptor = tempInterceptors.get(i).getChannelInterceptor(); if (!(channelInterceptor instanceof VetoCapableInterceptor) || ((VetoCapableInterceptor) channelInterceptor).shouldIntercept(beanName, channel)) { channel.addInterceptor(0, channelInterceptor); } } } }