List of usage examples for org.springframework.integration.channel.interceptor GlobalChannelInterceptorWrapper getChannelInterceptor
public ChannelInterceptor getChannelInterceptor()
From source file:org.springframework.integration.channel.interceptor.GlobalChannelInterceptorBeanPostProcessor.java
/** * Adds any interceptor whose pattern matches against the channel's name. *///w w w . j av a2 s .co m private void addMatchingInterceptors(MessageChannel channel, String beanName) { List<ChannelInterceptor> interceptors = this.getExistingInterceptors(channel); if (interceptors != null) { 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) { interceptors.add(next.getChannelInterceptor()); } tempInterceptors = new ArrayList<GlobalChannelInterceptorWrapper>(); for (GlobalChannelInterceptorWrapper globalChannelInterceptorWrapper : this.negativeOrderInterceptors) { String[] patterns = globalChannelInterceptorWrapper.getPatterns(); patterns = StringUtils.trimArrayElements(patterns); if (PatternMatchUtils.simpleMatch(patterns, beanName)) { tempInterceptors.add(globalChannelInterceptorWrapper); } } Collections.sort(tempInterceptors, comparator); if (!tempInterceptors.isEmpty()) { for (int i = tempInterceptors.size() - 1; i >= 0; i--) { interceptors.add(0, tempInterceptors.get(i).getChannelInterceptor()); } } } else if (logger.isDebugEnabled()) { logger.debug("Global Channel interceptors will not be applied to Channel: " + beanName); } }
From source file:org.springframework.integration.config.GlobalChannelInterceptorProcessor.java
/** * Adds any interceptor whose pattern matches against the channel's name. *///from w w w . j a v a 2s . 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); } } } }