2017-06-09 7 views
0

データを受信したときに、一部の通信ライブラリからコールバックと呼ばれるメソッドがあります。コールバックメソッドからデータをチャネルに送信する(Spring Integration)

Spring Integrationを使用して、後でいくつかのSenderといくつかのデータベースレコーダーによってピックアップされる特定のチャンネルにデータを送信したいと思います。これら2つは並行して動作する可能性があります。どうすればいい?

私は何でもXMLを使用しないことを好みます。

+0

申し訳ありませんが、質問は明確ではありません。それを言い換えたり、問題についていくつかのコードを共有したりしてください。そのコールバックから既存のチャンネルに送信できないのはなぜですか? –

+0

@ArtemBilanこれは、私が必要とするもので、既存のチャンネルに送信することです。統合のための私の最初の試行であるので、私はどのように "既存のチャンネル"を作成するのですか?また、言い換えると。 –

答えて

1

これら2つは並行して動作します。

この目的のために、春の統合はPublishSubscribeChannelを提供します。 executorオプションを使用すると、実際に加入者を並行して作業させることができます。

私はちょうどそのコールバックメソッドからのことをやる、だから、特定のチャンネル

にデータを送信したいと思います。

送信のための直接チャネル注入の代わりに、依存注入のためにMessaging Gatewayを使用することが考えられます。

このようにして、そのコールバックからゲートウェイのメソッドを呼び出すと、そのデータは事前​​定義されたPublishSubscribeChannelチャネルに送信され、そのサブスクライバ間で配信されます。

は、どのように私がいることを、「既存のチャネル」春とコントロールの実装のその反転についてのすべてだ

を作成してください。

既存のSpring Integration Samplesにご相談ください。

+0

Artemさん、チャンネルにデータを送信するコードを表示することは可能でしょうか?私はチャネルがコールバックメソッドにどのように知られていなければならないのか混乱しています。 –

+0

そのメソッドを持つオブジェクトはSpringのBeanでなければなりません。したがって、他の既存のBeanを簡単に挿入することができます。メソッドから送信するための 'MessageChannel'。 –

+0

これを使ってチャンネルを作ることはできますか? https://gist.github.com/arthurtsang/5268129 –

関連する問題