SpringSource/spring-integration — pull request #360 by olegz (2012-02-15 13:04:43+00:00)
Title: INT-2434 fixed how input-channels are auto-created

Channel creation logic for channels that are not explicitly defined but identified via 'input-channel' attribute of the corresponding endpoint is now done by ChannelCreatingFactoryBean - a SmartFactoryBean implementation.
The reason why this is a FactoryBean is because the value of 'input-channel' attribute could be a placeholder
and/or SpEL expression that needs to be resolved to know the actual channel name. This means that during the
getObject() call this bean will gather all instances of ChannelNameHolders (a new class) which would contain the resolved
channel names and iterate through them creating corresponding channel if they are not defined explicitly in this context.
The reason why this is a SmartFactoryBena is because its getObject() call must be eager

So essentially this bean plays a role of pre-instantiating-processor where it needs to be instantiated as the
very first bean of all SI beans and is registered in AbstractIntegrationNamespaceHandler.
Since it plays a role of pre-instantiating-processor its getObject() method in itself has no meaningful return value,
therefore it always returns 'true'