2016-07-18 5 views
0

私は春の統合には新しく、サービスアクティベータの定義を行っていました。定義はそれがcall a method and wrap the result in the response message.に慣れていると言っています。定義はまたそれがoutbound gateway for invoking the bean method.であることを伝えます私は2番目のステートメントではっきりしません。アウトバウンドゲートウェイは、アプリケーションからの要求を外部アプリケーションに送信し、応答をアプリケーションに戻すことを理解しています。したがって、Beanが呼び出されると、Beanはアプリケーション内で呼び出されます。したがって、Beanはインバウンド・ゲートウェイの権利である必要があります。私が間違っている場所を教えてください。サービスアクティベータは、Beanメソッドを呼び出すアウトバウンドゲートウェイとして機能します

答えて

1

さまざまなプロトコルを使用する外部システムとメソッド呼び出しを使用するレガシーJavaコードの2種類の統合があります。

その中には、一方向の統合(チャネルアダプタによって提供される)と双方向の統合(ゲートウェイによって提供される要求/応答)があります。いずれの場合も、統合はメッセージフローにインバウンドするか、メッセージフローからアウトバウンドすることができます。

<int: .../>名前空間は、メッセージフローからレガシーコードを呼び出すためのインバウンドおよびアウトバウンドチャネルアダプタを提供します。後者の場合(送信)、メソッドの戻り値の型はnullである必要があります。サービスアクティベータを使用して同じメソッドを呼び出すこともできますが、チャネルアダプタは、一方向の統合であるため明らかです。

受信側では、レガシーJavaコードが特定の依存関係なしにメッセージングフローと相互作用(「呼び出し」)できるように、メッセージングゲートウェイ(<int:gateway/>)が提供されています。

サービスアクティベータがその機能を提供するため、メソッドを呼び出すための<int:outbound-gateway/>はありません。

私たちが混乱の原因となったドキュメントを指摘できれば、改善することができます。 documentation JIRA issueを開きます。

+0

ありがとうございました。私はJiraチケットを作成しました。 – zilcuanu

+0

また、対象のJIRAで私の説明を見つけてください:https://jira.spring.io/browse/INT-4073。私は他に何かを変えなければならないとは確信していません。理論IMHOとしてEIPから勉強を始める必要があります... –

関連する問題