gpt4 book ai didi

java - Spring云流-RabbitMQ配置

转载 作者:行者123 更新时间:2023-12-01 17:01:10 26 4
gpt4 key购买 nike

我正在使用 Spring Cloud Stream Java 学习 RabbitMq。对 mq 配置有疑问。

根据文件 -spring.cloud.stream.bindings.>channelName>.destination=dest1

我正在使用以下配置并且它正在工作 -

spring.cloud.stream.bindings.input.destination=dest1

但是,如果我像下面这样提及我的 channel 名称来代替输入,则它不起作用 -spring.cloud.stream.bindings.myChannel.destination=dest1

在我的类里面 -@INPUT('myChannel')

我的疑问是为什么当我提到类里面给出的 channel 名称时它不起作用

但是当我将默认值设置为 .input 时它就可以工作。 ..?

更新

MyInterface.java

String CHANNEL = myChannel;
@INPUT(CHANNEL )
SubscribableChannel subs();

MyListener.java

@StreamListener(MyInterface.CHANNEL)
public void queueMsg(String str) {
System.out.println("Str msg = "+str);
}

应用程序.prop

#Below property working fine
spring.cloud.stream.bindings.input.destination=dest1
spring.cloud.stream.bindings.input.binder=rabbit


#Below property NOT working
#spring.cloud.stream.bindings.myChannel.destination=dest1
#spring.cloud.stream.bindings.myChannel.binder=rabbit

最佳答案

在本例中, channel 名称是绑定(bind)名称input

spring.cloud.stream.bindings.输入.destination=dest1

对于 RabbitMQ,目的地是我们将发布到的交换名称。

使用@Input("input")

或者

spring.cloud.stream.bindings.myChannel.destination=dest1

如果它不起作用,您需要显示您的监听器和界面。

关于java - Spring云流-RabbitMQ配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61505615/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com