我想要這個,可以嗎?
@Autowired
lateinit var config : AppProperties
@RabbitListener(queues = ["#{\${config.queueName}}"])
fun listen(message: String?) {
println(message)
}
無法決議值“#{${config.queueName}}”中的占位符“config.queueName”
uj5u.com熱心網友回復:
我認為在這種情況下這是不可能的,因為 Spring 不知道“config”,但是您可以使用 SPeL 從 AppProperties bean 檢索屬性,例如:
@RabbitListener(queues = ["#{appProperties.queueName}"])
如果您的 @Autowired AppProperties 具有 bean name = 'appProperties',它應該可以作業
我目前無法檢查此解決方案,但我認為它應該有效。
更新:
您可以在不定義配置變數的情況下使用此解決方案,因為 SPeL 使用 bean 并不必要地定義配置變數。
uj5u.com熱心網友回復:
@RabbitListener(queues = ["\${config.queueName}"])
請嘗試這樣,您可以在此博客中閱讀更多資訊
uj5u.com熱心網友回復:
我希望這個值來自一個屬性檔案。我沒有使用過 kotlin,但這就是我們在 Java 中的做法。
應用程式.yml
config:
queueName: somequeue
代碼:
@RabbitListener(queues = "${config.queueName}")
fun listen(message: String?) {
println(message)
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/361488.html
