Spring Integration - Inbound vs Outbound Channel Adapters

后端 未结 2 522
既然无缘
既然无缘 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:43

    in and out are relative directions, it must have a base. in spring integration, the base is the Spring integration framework ( that can be looked as a message bus), the adapters put message into it are in, the adapters take message out from it are out.

    0 讨论(0)
  • 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.

    0 讨论(0)
提交回复
热议问题