我是Spring Integration 4.3.13,在配置@GlobalChannelInterceptor 时尝试传递模式
以下是的示例
@Configuration
public class IntegrationConfig{
@Bean
@GlobalChannelInterceptor(patterns = "${spring.channel.interceptor.patterns:*}")
public ChannelInterceptor channelInterceptor(){
return new ChannelInterceptorImpl();
}
}
属性文件具有以下值:
spring.channel.intercept.patterns=*intchannel,*事件
我使用的是以这两个字符串结尾的名称的直接通道
- springintchannel
- 注册事件
使用上面的配置,两个通道都应该配置拦截器,但没有配置。
当前不支持逗号分隔值。
我同意我们需要解决这个问题,所以请随时就此事提出JIRA,我们将从其他地方提交解决方案。
同时,您可以将此作为一种变通方法:
@Bean
public GlobalChannelInterceptorWrapper channelInterceptorWrapper(@Value("${spring.channel.interceptor.patterns:*}") String[] patterns) {
GlobalChannelInterceptorWrapper globalChannelInterceptorWrapper = new GlobalChannelInterceptorWrapper(channelInterceptor());
globalChannelInterceptorWrapper.setPatterns(patterns);
return globalChannelInterceptorWrapper;
}