我想將Spring雲流添加到使用Spring AMQP和RabbitMQ的現有項目。春季AMQP春季雲流遷移 - 現有隊列
我有以下兔配置:
監製交換名稱:producer.mail-sent.exchange
消費者隊列名稱:consumer.mail-sent.queue
在製片人的身邊,我配置是這樣的: spring: cloud: stream: bindings: output: contentType: application/json destination: producer.mail-sent.exchange
而且使用以下代碼:
@Autowired
private Source source;
...
source.output().send(MessageBuilder.withPayload(someStuff).build());
...
在消費者的身邊,我有以下配置: 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
的現有隊列。
有什麼辦法可以達到這個目的嗎?
好:)感謝您的快速響應! – fightlight
我們也面臨同樣的問題。我們有現有的rabbitmq集羣,並希望爲現有集羣(扇出)創建一個客戶端客戶端。您是否建議不要將Spring雲流用於現有rabbitmq集羣?我們計劃在下一年使用雲流創建通用客戶端,因此我們必須遷移到Kinesis。 – user2589228
要爲隊列的完整自定義命名添加支持並不困難;這只是今天不存在;正如我向OP提議的那樣,打開一個GitHub問題來請求增強是第一步。當功能可用時,您可以從一個'@ RabbitListener'開始並將其切換到'@StreamListener'。他打開[這個問題](https://github.com/spring-cloud/spring-cloud-stream-binder-rabbit/issues/93)。添加您的聲音以提高優先級。 –