【发布时间】:2018-04-18 22:20:28
【问题描述】:
我想使用特定模式的队列名称,例如project.{queue-name}.queue。为了保持这种模式的稳固性,我编写了一个帮助类来从一个简单的标识符生成这个名称。因此,foo 将生成一个名为project.foo.queue 的队列。很简单。
但是,注释 RabbitListener 需要一个常量字符串,并在使用我的帮助程序类时给我一个错误。如何使用RabbitListener 注释来实现这一点(或者可能是另一种方法)?
@Component
public class FooListener {
// it doesn't work
@RabbitListener(queues = QueueName.for("foo"))
// it works
@RabbitListener(queues = "project.foo.queue")
void receive(final FooMessage message) {
// ...
}
}
【问题讨论】:
-
上下文从何而来?环境变量?
-
我已经为“queue-name”更改了“context”以进行澄清。这只是一个名字。但我想加强名称模式。