One more point. If we are going with Boot conventions this annotation shouldn't have any attributes, similar to `@EnableWebMvc` or `@EnableWebSocket`. For all other cases (e.g. `defaultPublisherChannel`) we should provide separate options. In this case user will be able simply use `@EnableAutoConfiguration` (in case of Boot) and add more configurations. 
As far as we are going to provide some Java Config hook for channels, I suggest to have annotation for `defaultPublisherChannel`:
````java
@Bean
@DefaultPublisherChannel
public MessageChannel publisherChannel() {
      return new QueueChannel();
}
````
Or even without `@Bean`. 
And something similar for:
````java
@GlobalChannelInterceptor(order = 100, pattern = {"inbound*", "outbound*"})
public ChannelInterceptor globalWireTap() {
      return new WireTap(logChannel());
}
````
Of course to achieve it we have to add one more `BeanPostProcessor` to parse annotations from `BeanMethod` of `BeanDefinition`
WDYT?