Spring 带有 Azure Eventhub 的云流绑定器

Spring cloud stream binder with Azure Eventhub

我在启动应用程序中收到以下警告消息;可能是什么问题?

提供的 errorChannel 'x.y.errors' 是 DirectChannel 的实例,因此无法添加更多订阅者,也不会向全局错误通道发送错误消息。解决方案:将您自己的 errorChannel 配置为 PublishSubscribeChannel

的实例

我的配置如下所示:

public interface CloudStreamConfig extends Source {

    String somethingIn = "somethingIn";
    String somethingOut= "somethingOut";
    String error= "topicname.some-service.errors";

    @Input(CloudStreamConfig.somethingIn)
    SubscribableChannel somethingIn();

    @Output(CloudStreamConfig.somethingOut)
    MessageChannel somethingOut();
}

Application yml:

cloud:
  azure:
    eventhub:
      connection-string: ${EVENTHUB_CONNECTION_STRING}
      checkpoint-storage-account: ${STORAGE}
      checkpoint-access-key: ${ACCESS_KEY}
  stream:
    bindings:
      somethingIn:
        destination: topic-name
        group: some-service
      somethingOut:
        destination: topic-name
        group: some-service

最好的猜测是您有一个 @ServiceActivator 从绑定的错误通道消耗。

如果是这样,如果您还希望将错误也发送到全局错误通道,则需要将该通道明确定义为 PublishSubscribeChannel @Bean;如果没有,您可以忽略该消息。