您无法使用带注释的@JmsListener
s 进行此操作,但可以通过扩展JmsListenerConfigurer
(如参考文档中所述)以编程方式注册每个侦听器。
由于您将属性作为数组注入…
@Value("${InTopics}")
private String[] inTopics;
Spring将拆分列表,并根据列表中的队列数创建一个数组。
然后,您可以遍历数组JmsListenerConfigurer.configureJmsListeners()
并为数组中的每个元素创建一个端点- 您无需事先知道数组的大小。
for (String inTopic : inTopics) {
...
}