Spring Cloud Stream Source BeanをSpringブートアプリケーション内に作成しようとしています。メソッドの結果をストリームに送信するだけです(基底のKafkaトピックはストリーム)。Spring Cloud Stream Sourceを使用してメソッドの結果をストリームに送信
私が見たほとんどのストリームサンプルでは、ポーラーを使用してストリームにデータを送信するために@InboundChannelAdapter
注釈を使用しています。しかし、私はポーラーを使いたくありません。私は空の配列にポーラーを設定しようとしましたが、もう一つの問題は、@InboundChannelAdapterを使用するときにメソッドのパラメータを持つことができないということです。
私がしようとしていることの全体的な概念は、インバウンドストリームから読み取られます。いくつかの非同期処理を行い、その結果をアウトバウンドストリームに投稿します。したがって、プロセッサを使用することもオプションではないようです。私は@StreamListener
シンクチャンネルを使用してインバウンドストリームを読み込み、それが動作しています。
これは私が試してきたコードですが、これはまったく動作しません。私はシンクが多分そうではなかったので、これは簡単だろうと思っていました。誰かを探して、プロセッサではない(つまり、インバウンドチャンネルでリッスンする必要がない)ソースの例を指摘し、@InboundChannelAdapter
を使用しないでください。別の方法で。ありがとう!あなたはポーラーを使用しない場合
@EnableBinding(Source.class)
public class JobForwarder {
@ServiceActivator(outputChannel = Source.OUTPUT)
@SendTo(Source.OUTPUT)
public String forwardJob(String message) {
log.info(String.format("Forwarding a job message [%s] to queue [%s]", message, Source.OUTPUT));
return message;
}
}