web-dev-qa-db-ja.com

Spring統合-インバウンドチャネルアダプタとアウトバウンドチャネルアダプタ

インバウンドチャネルアダプタとアウトバウンドチャネルアダプタの基本的な違いは何ですか?

どんな例でも非常に役に立ちます。

Springのドキュメントを確認しましたが、この「方向性」の違いはわかりません。アウトバウンドチャネルアダプタが設定されているアプリケーションをサポートしていますが、動作カウンターはoutboundラベルで直感的に理解できます。このアダプタは外部ファイルを取得し、それをアプリケーションに取り込み、そこでファイルを解析してデータを永続化します。

これは this の質問に似ていますが、より一般的にチャネルアダプターに焦点を当て、より多くのフィードバックを得たいと思いました。

ありがとう!

チャネルアダプタは一方向統合用です(ゲートウェイは双方向です)。

具体的には、インバウンドアダプターはフローの開始時にあり、アウトバウンドアダプターはフローを終了します。フローは通常レンダリングされます(そして概念的には左から右に流れると考えられます)。

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

(どこ ->はチャネルを表します)。

インバウンドチャネルアダプタには、次の2つのタイプがあります。

  • MessageProducers
  • MessageSources

MessageProducersは「メッセージ駆動型」と呼ばれます。つまり、開始されるとすぐに、完全に非同期の方法で一方的にメッセージを生成します。例としては、JMSメッセージ駆動型アダプター、TCPインバウンドチャネルアダプター、IMAPアイドル(メール)チャネルアダプターなどがあります。

一方、MessageSourcesはポーリングされます-何らかのトリガーがあるpollerにより、フレームワークはソースにメッセージを要求します。トリガーは、固定レート、cron式などで実行できます。例としては、(S)FTPアダプター、メール受信アダプター(POP3、IMAP)があります。

アウトバウンドアダプタの例は、メールアウトバウンドアダプタ(SMTP)です。

ゲートウェイは双方向(要求/応答)です。

インバウンドゲートウェイは、一部の外部システムが要求を送信し、SpringIntegrationが応答する場所です。

アウトバウンドゲートウェイは、SpringIntegrationが要求を行い、一部の外部システムが応答する場所です。

それで問題が解決することを願っています。

29
Gary Russell

インとアウトは相対的な方向であり、ベースが必要です。 Spring統合では、ベースはSpring統合フレームワーク(メッセージバスと見なすことができます)であり、アダプターはメッセージを入力し、アダプターはメッセージを出力します。

5
Andrew Xie