amazon sqsキューからのメッセージとそれまでの動作状態を消費するように統合フローを設定しようとしています。しかし、私は分や秒ごとにメッセージの数をペースしたいと思います。例えば毎分20メッセージ。ここで バネ統合を使用してsqsキューの消費をペースする方法
は私のSQLリスナーBean@Bean
public MessageProducer mySqsMessageDrivenChannelAdapter() {
SqsMessageDrivenChannelAdapter adapter = new SqsMessageDrivenChannelAdapter(this.amazonSqs, queueName);
adapter.setMessageDeletionPolicy(SqsMessageDeletionPolicy.ON_SUCCESS);
adapter.setVisibilityTimeout(TIMEOUT_VISIBILITY);
adapter.setWaitTimeOut(TIMEOUT_MESSAGE_WAIT);
adapter.setMaxNumberOfMessages(prefetch);
adapter.setOutputChannel(processMessageChannel());
return adapter;
}
あなたは、私が投票ごとにフェッチするメッセージの最大数を設定していますが、どのようにポーリング間の遅延時間を設定するために見ることができるように定義ですか?
通常のjmsキューでは、カスタムポーラーを使用してJMS.inboundAdapterを使用できますが、SqsMessageDrivenChannelAdapterを使用すると、どのポーリングタイマー値も設定できません。
多分私はSqsMessageDrivenChannelAdapter以外のMessageProducerを使うことができましたが、どちらを使うのでしょうか?
sqsを使用してJMS.inboundAdapterを設定することはできますか?
解決策はこちらをご覧ください。https://stackoverflow.com/questions/29667321/polling-interval-for-jms-messagelistener-with-sqs-provider?rq=1この場合、この質問は重複していると見なすことができますが、ここでのポイントは私がスプリング統合を使用していることです。私はそこに存在する解決策を試すつもりですが、私はこの問題を解決します。 –