[英]Spring cloud stream - RabbitMQ configuration
我正在学习 RabbitMq 使用 spring 云 stream Z93F725A07423FE1C889FZ448B3 对 mq 配置有疑问。
根据文件 - spring.cloud.stream.bindings.>channelName>.destination=dest1
我正在使用以下配置并且它正在工作-
spring.cloud.stream.bindings.input.destination=dest1
但是,如果我提到我的频道名称来代替下面的输入,它就不起作用 - spring.cloud.stream.bindings.myChannel.destination=dest1
在我的 class - @INPUT('myChannel')
我的疑问是为什么当我提到 class 和
但是当我提供默认 as.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
在这种情况下,通道名称是绑定名称input
。
spring.cloud.stream.bindings。 输入.destination=dest1
对于 RabbitMQ,目标是我们将发布到的交换名称。
使用@Input("input")
。
或者
spring.cloud.stream.bindings。 我的频道.destination =dest1
如果它不起作用,您需要显示您的侦听器和界面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.