Можно ли использовать свойство, разделенное запятыми, для определения очередей для прослушивания? Цель состоит в том, чтобы иметь возможность изменять имена очередей и количество очередей без изменения кода.
Я определил очереди в моем 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. Есть ли способ использовать SpEL для динамического определения очередей?