动态设置JMS选择器

时间:2017-08-01 10:04:43

标签: spring jms spring-jms

我正在尝试创建多个消费者,每个消息都会收到一种消息,并在消息上定义了一些属性:

例如message.setProperty("id","someId");

我现在遇到了在使用者身上设置选择器JmsListener的问题:

@JmsListener(destination = "OMP.DEVICES", containerFactory = "jmsListenerFactory", selector=someVariable)  

我想从我收到的变量中动态设置选择器值。

private String someVariable;
public void setsomeVariable(Long id){
        someVariable="Id='"+id+"'";
}

但我有这个错误: The value for annotation attribute JmsListener.selector must be a constant

我该如何解决?

由于

1 个答案:

答案 0 :(得分:1)

无法动态更改消费者的选择字符串。必须使用不同的选择字符串关闭并重新打开消费者。