如何自动装配 spring 流云绑定

How to autowire spring stream cloud bindings

我在 application.yml

中定义了 errornotification 绑定
cloud:
  stream:
    bindings:
      error:
        destination: error
        binder: default
      notification:
        destination: notification
        binder: default

如何在我的组件中获取这些 bean?

我试过这个方法:

@Component
class MyComponent {

   @Autowired
   @Qualified("notification")
   MessageChannel notificationChannel;
}

但是notificationChanel没有找到。

更新 cloud.stream.bindings.* 只允许配置频道。但不创建它。

您确定您有 @EnableBinding 和适当的接口来声明 @Input@Output 吗?

https://docs.spring.io/spring-cloud-stream/docs/Chelsea.SR2/reference/htmlsingle/index.html#_declaring_and_binding_channels

public interface Barista {

    @Input
    SubscribableChannel orders();

    @Output
    MessageChannel hotDrinks();

    @Output
    MessageChannel coldDrinks();
}

...
@EnableBinding(Barista.class)
public class CafeConfiguration {