我有一个这样配置的项目:
spring:
cloud:
stream:
rabbit:
bindings:
myChannel:
consumer:
prefetch: 3
maxPriority: 10
exchangeType: headers
bindings:
myChannel:
destination: MyChannel
group: my-channel-readers
consumer:
concurrency: 4
max-attempts: 3
binders:
rabbit:
type: rabbit
这确实创建了正确的Exchange(作为标头)和Queue,但没有绑定它们。
在添加exchangeType: headers
之前,它以topic
的形式创建了交换,并正确地绑定了队列。
另外,如果我将其切换为exchangeType: topic
,则会正确创建绑定。
我希望对此进行绑定,并且仅在项目具有/不具有特定标头时才发送项目-我该怎么做?
答案 0 :(得分:1)
当前不支持自动绑定到headers
交换;参见the documentation。
exchangeType
交换类型:
direct
,fanout
或topic
用于未分区的目的地,而直接或主题用于分区的目的地。默认:主题。
当然,您可以手动绑定它。
应该可以自动绑定到这种类型的交换。随时打开新功能on GitHub。