我正在尝试创建多个消费者,每个消息都会收到一种消息,并在消息上定义了一些属性:
例如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
我该如何解决?
由于
答案 0 :(得分:1)
无法动态更改消费者的选择字符串。必须使用不同的选择字符串关闭并重新打开消费者。