【发布时间】:2016-05-07 15:07:49
【问题描述】:
我可以从如下所示的服务器检索一些数据:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
<responseMetadata>
<httpCode>200</httpCode>
<errorType>Ok</errorType>
<description>Success</description>
<cappingLimit>333</cappingLimit>
<queryString>........</queryString>
</responseMetadata>
<responseHeader>
<recordType>some record type long</recordType>
<fileType>my_file_type</fileType>
</responseHeader>
<responseBody>
<responseList>
<item>
<recordType>some record type short</recordType>
<header2>fdsfdsfds</header2>
<header3>fdsfdsssfds</header3>
<header4>fdsfd2222sfds</header4>
</item>
它还有一个推送 STOMP 服务。我希望能够通过它接收相同的数据。 但不是默认发送的所有数据,而只有具有
的数据“recordType” = 头部中的一些长记录类型,或者,相同的,主体中的“一些短记录类型”。不过,我认为不允许按身体过滤。
如何正确过滤它?我知道我必须使用
messageConsumer = session.createConsumer(topic, "recordType='some record type long'");
// or
messageConsumer = session.createConsumer(topic, "recordType='some record type short'"); // not allowed?
无论如何,这没有奏效。也许选择器错了?这里描述了如何创建一个https://www-01.ibm.com/support/knowledgecenter/api/content/nl/en-us/SSFKSJ_7.5.0/com.ibm.mq.dev.doc/q031980_.htm#q031980_ 但我应该如何在我的特殊情况下创建它?什么是 JMSType?
附:我的应用是消费者,而不是消息的生产者。
【问题讨论】:
标签: java jms activemq message-queue stomp