Channel types
Before starting with their implementation, let's first look at the following types of channels:
Point-to-point channel: A one-to-one relationship is maintained between producer and consumer. These channels deliver message to one and only one recipient. Even if more than one recipient is registered, messages will only be delivered to one of them. This channel type can be used in a parallel processing scenario, allowing multiple consumers to listen to the availability of messages in parallel, but the delivery of messages will be done to a single consumer only!
Publish-subscribe channel: These channels deliver messages to all of the subscribers who have registered on the channel, thus implementing a one-to-many relationship between producer and consumer. An analogy can be drawn as each subscriber has its own private channel, on which a copy of the message is delivered. As soon as it's consumed, it is discarded.
Let's get out of idioms and have a sneak peek at how Spring Integration...