maxPriority设置不适用于spring-cloud-stream

时间:2017-06-22 11:56:22

标签: spring-cloud-stream

我正在构建一个spring-cloud应用程序并使用stream来管理我的rabbitmq优先级队列。但是application.yml中的maxPriority设置无效。

这是我的配置:

spring:
  cloud:
    stream:
      rabbit:
        bindings:
          highLevelOutput:
            producer:
              maxPriority: 10
          highLevelInput:
            consumer:
              maxPriority: 10
      bindings:
        highLevelOutput:
          destination: notification-high
          contentType: application/x-java-object;type=com.txn.notification.entity.NotificationMessage
        highLevelInput:
          group: high
          producer:
            requiredGroups: high
          destination: notification-high
          contentType: application/x-java-object;type=com.txn.notification.entity.NotificationMessage
          contentType: application/x-java-object;type=com.txn.notification.entity.NotificationMessage

我注意到在流的RabbitConsumerProperties类中没有与优先级配置相关的内容,是否可以从其他任何地方读取此属性?

1 个答案:

答案 0 :(得分:0)

我刚试过它,它对我来说很好......

Priority Queue

请注意,队列必须不存在 - 您无法更改现有队列的最大优先级。在这种情况下,它将被忽略。

您使用的是哪个版本?该属性位于RabbitCommonProperties的超级RabbitConsumerProperties

它只适用于生产者,如果它有必需的组,因为它是队列属性而生产者不直接处理队列。