私は、RabbitMQでSpring AMQPを使用する既存のプロジェクトにSpring Cloud Streamを追加しようとしています。Spring AMQPからSpring Cloud Streamへの移行 - 既存のキュー
I以下のウサギの構成を有している:
プロデューサー交換名:producer.mail-sent.exchange
消費者キュー名:生産者側ではconsumer.mail-sent.queue
私はこのように設定します。 spring: cloud: stream: bindings: output: contentType: application/json destination: producer.mail-sent.exchange
と使用次のコード:
消費者側では私は、次の設定があります。次のコードで spring: cloud: stream: bindings: input: contentType: application/json destination: producer.mail-sent.exchange group: consumer.mail-sent.queue
を:
@EnableBinding(Sink.class)
...
@StreamListener(Sink.INPUT)
public void handle(String someStuff) {
log.info("some stuff is received: " + someStuff);
}
そして、それが動作するようです。 :) しかし!ウサギの側では、producer.mail-sent.exchange.consumer.mail-sent.queue
という名前の新しいキューがありますが、それはconsumer.mail-sent.queue
という名前の既存のキューを使用します。
これを達成する方法はありますか?
Ok :)すばやい応答ありがとう! – fightlight
私たちは同じ問題に直面しています。私たちは既存のrabbitmqクラスタを持ち、既存のクラスタ(ファンアウト)用のコンシューマクライアントを作成したいと考えています。あなたは既存のrabbitmqクラスタにSpringクラウドストリームを使用しないことを提案していますか?私たちは来年にKinesisに移行しなければならないため、クラウドストリームを使用して汎用クライアントを作成する予定です。 – user2589228
キューの完全なカスタムネーミングのサポートを追加することは難しくありません。今日はそこにいません。私がOPに提案したように、拡張を要求するGitHubの問題を開くことが第一歩です。 @ RabbitListenerで始まり、その機能が利用可能になったら '@ StreamListener'に切り替えることができます。彼は[この問題](https://github.com/spring-cloud/spring-cloud-stream-binder-rabbit/issues/93)を開いた。音声を追加して優先度を上げてください。 –