Description
Expected Behavior
I think there should be an how to write channel adapter
guide with examples for:
- Reactive event-driven inbound channel adapters
- Reactive source polling inbound channel adapters
- Reactive outbound channel adapters
- Event-driven inbound channel adapters
- Source polling inbound channel adapters
- Outbound channel adapters
There should be super simple examples for writing each with the JavaDSL, and more important - explanations about the interfaces that are required for each usage (and which ones are supported with nio Reactive Programming). Such as:
MessageProducerSupport
AbstractMessageSource
AbstractReactiveMessageHandler
AbstractMessageHandler
AbstractReplyProducingMessageHandler
and more (I don't know of more relevant interfaces, this is one of the reasons I'm raising this issue).
There should be examples for the differences between them and use cases for each.
Current Behavior
It's pretty hard to understand what are the correct interfaces that we should use in each case of writing channel adapters with the Java DSL. I think there should be a better guide for writing custom channel adapters (since there are not so many channel adapters, writing custom ones is a pretty common task, if not the most common task when using Spring Integration).
Context
The reference doesn't mention any of the JavaDSL channel adapter interfaces, so that's super hard to understand the purpose of each interface and what fits my needs. The only solution what diving into the source code, which has inconsistency between channel adapters (some channel adapters name is XInboundChannelAdapter
, and some channel adapters name is XMessageProducer
. I know that there may be some reasons and conventions to it, but this whole part is just not documented).