最も簡単なメカニズムは、サービス インターフェイスを POJO として実装し、
<service-activator input-channel="..." output-channel="..."
ref="myPojo" method="process" />
どこ
public class MyPoJo {
public Bar process(Foo foo) {
...
}
}
より正式に行いたい場合は、拡張できますAbstractReplyProducingMessageHandler
。そしてそれを消費者エンドポイントにラップしますが、フレームワークの依存関係がないため、POJO ルートが最も好まれます。
編集:
Spring Tool Suite (Eclipse ベース) を使用する場合、テンプレートを使用して本格的なゲートウェイを構築するのに役立つスターター プロジェクトがあります。名前空間パーサーとすべてのスターター クラスが含まれています ( New | Spring | Spring Project | Integration ...
)。テンプレートはここにホストされています。それらは少し古くなっています (たとえば、SI の更新が必要であり、docbook はもう使用していません - 少なくともマスターでは asciidoc を使用しています) が、それには長い道のりが必要です。名前空間のヘルプについては、標準のパーサーを参照することもできます。
ゲートウェイが広くアピールできると思われる場合は、拡張機能に貢献することを検討してください。
EDIT2:
あなたのコメントから...
私が理解している限り、アウトバウンドゲートウェイは外部システムとの統合を提供するために使用され、サービスアクティベーターはローカルサービス呼び出し用です
これは一般的には当てはまりますが、a を介して外部サービスを呼び出すことを妨げるものは何もありません。これ<service-activator/>
は個人的な好みの問題であり、組織内で使用するために公開する場合を除き、正式なアダプターを作成する本当の理由はありません。 /またはより正式な方法でコミュニティに貢献します。