可以使用逗號分隔屬性來定義要偵聽的隊列嗎?目的是能夠在不更改代碼的情況下更改隊列名稱和隊列數量。@RabbitListener - 從屬性定義隊列
我定義的隊列在我application.properties
像這樣:
my.aggregate.queues=/some/queue,/some/other/queue
我能夠通過使用SpEL以使得對包括隊列名稱爲列表:
@Value("#{'${my.aggregate.queues}'.split(',')}")
然而,當我嘗試使用@RabbitListener
註釋來收聽隊列我發現我必須單獨定義隊列。使用
@RabbitListener(queues = { "#{'${my.aggregate.queues}'.split(',')}" })
導致隊列名稱解析爲一個字符串數組,卻沒有一個能夠使用的:
@RabbitListener can't resolve '[Ljava.lang.String;@5396eeb1' as either a String or a Queue
我已經試過各種其他規劃環境地政司組合沒有成功。有沒有使用SpEL動態定義隊列的方法?
謝謝加里,我會開一個問題。我已經通過編程方式解決了這個問題。在@RabbitListener註釋中指定數組的方式當然會更可取,我同意您在編輯中的結論。 –