Spring Integration - Inbound vs Outbound Channel Adapters

后端 未结 2 524
既然无缘
既然无缘 2020-12-30 02:18

What is the fundamental difference between inbound and outbound channel adapters?

Any examples would be very helpful.

I have reviewed the

2条回答
  •  轮回少年
    2020-12-30 02:45

    Channel adapters are for one-way integration (gateways are bidirectional).

    Concretely, inbound adapters are at the beginning of a flow, outbound adapters terminate a flow. Flows are typically rendered (and conceptually thought of as flowing from left to right)...

    inbound-c-a->someComponent->someOtherComponent->outbound-ca
    

    (where -> represents a channel).

    There are two types of inbound channel adapters:

    • MessageProducers
    • MessageSources

    MessageProducers are termed "message-driven" i.e. they unilaterally produce messages in a completely asynchronous manner, as soon as they are started; examples are JMS message-driven adapter, TCP inbound channel adapter, IMAP Idle (mail) channel adapter, etc.

    MessageSources on the other hand are polled - a poller with some trigger causes the framework to ask the source for a message; the trigger can be on a fixed rate, cron expression etc. Examples are the (S)FTP adapters, Mail inbound adapter (POP3. IMAP).

    Examples of outbound adapters are Mail outbound adapter (SMTP).

    Gateways are two-way (request/reply).

    Inbound gateways are where some external system sends a request and Spring Integration replies.

    Outbound gateways are where Spring Integration makes the request and some external system replies.

    I hope that clears things up.

提交回复
热议问题