2017-09-08 109 views
0

獲得隊列名稱目前,我有我的兔子聽衆標註設置爲:兔聽衆註釋從YAML

@RabbitListener(隊列=「我的隊列」)

是沒可能在隊列名稱拉來自我的yaml文件。我想這樣做的原因是,我可以通過更改yaml文件中的隊列名稱,將我的隊列更改爲集成測試的測試隊列。看來註釋必須接受一個常量字符串,有沒有辦法繞過這個?謝謝,

回答

2

是的,它被稱爲properties place holder,可以這樣進行:

@RabbitListener(queues = "${myQueue.property}") 

如果這一myQueue.property在YAML正好聲明。

https://docs.spring.io/spring-amqp/docs/1.7.3.RELEASE/reference/html/_reference.html#async-annotation-driven

的參數名稱,值和類型可以是財產的佔位符($ {...})或規劃環境地政司表達式(#{...})。該名稱必須解析爲一個字符串;類型的表達式必須解析爲類或類的完全限定名稱。該值必須解析爲可由DefaultConversionService轉換爲該類型的內容(例如上例中的x-message-ttl)。