【发布时间】:2015-11-05 07:15:05
【问题描述】:
我需要一些帮助来获取具有特定属性的特定队列的所有消息。
这里的问题是我需要将 JMS 标头属性 process 与 processName 匹配。因为消息的 process 值可以是大写或小写,但 processName 总是有一个大写的值。
我可以不在这里使用equalsIgnorecase,例如: StringJMSCriteriaBuilder("process").equalIgnorecase(processName);
因为 IJMSSelectorCriteriaBuilder 接口中没有这样的方法。
以下是我目前拥有的代码:
private String createJMSSelectorMessage(QueueFilter queueFilter) throws Exception {
StringBuffer selectorMessage = new StringBuffer();
String processName=Service.getProcess(Long.valueOf(queueFilter.getProcess())).getProcessName();
IJMSSelectorCriteriaBuilder processNameSelectorCriteriaBuilder = new StringJMSCriteriaBuilder("process").eq(processName);
selectorMessage.append(processNameSelectorCriteriaBuilder.getJMSSelectorCriteriaValue());
return selectorMessage;
}
【问题讨论】:
标签: java jms message-queue ibm-mq spring-jms