The default channel type created by <channel/> is currently a QueueChannel.
We are going to be refactoring the channel namespace support to emphasize the fact that there are 2 main types of channel: Point-to-Point and Publish-Subscribe.
Code:
<channel id="p2pChannel"/>
<publish-subscribe-channel id="pubsubChannel"/>
Then, the plan is to support buffering on point-to-point channels by adding a queue. The idea is that such configuration will be more explicit and therefore more clear. After these changes, the configuration should look something like the following:
Code:
<channel id="directChannel"/>
<channel id="queueChannel">
<queue capacity="100"/>
</channel>
<channel id="priorityQueue">
<priority-queue capacity="100" comparator="someComparator"/>
</channel>
<channel id="rendezvousQueue">
<rendezvous-queue/>
</channel>
As you can see above the same channel types will be supported. The first one now becomes 'direct' (has no queue, subscribers will be invoked in the sender's thread). The type of queue is what differentiates the other types (queue (FIFO), priority, and rendezvous).
Any feedback on this plan would be greatly appreciated.
Regards,
Mark