繁体   English   中英

Spring 云 stream - RabbitMQ 配置

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM