我想检索使用 urlopen 发布在队列上的特定消息,但我只不断从队列中获取随机消息。
该消息是由其他进程发布到队列中的,它给了我相关 ID,我只想获取该特定消息。
const hm = require('header-metadata');
var sm = require('service-metadata');
var urlopen = require('urlopen');
hm.current.set('Content-Type', 'application/json;charset=UTF-8');
session.input.readAsJSON(function (error, json) {
if (error) {
// handle error
}
else {
var options = {
target: 'dpmq://QUEUEMANAGER/?',
replyQueue: json['replyToQ'],
transactional: false,
sync: true,
timeOut: 10000,
headers: {
MQMD: { // JSON object for specified header_name
MQMD: { // JSON object for the MQMD header
"CorrelId": { "$": json['correlID'].substring(2) },
}
}
}
};
urlopen.open (options, function (error, response) {
response.readAsBuffer(function (error, buffer) {
if (error) {
// handle error
session.output.write(error.errorMessage);
}
else {
/* write the default output buffer */
session.output.write(buffer);
}
});
} );
// write to the output context.
}
});
有办法只获取带有相关 ID 的消息吗?
(如果这仍然相关)您是否检查过您的 CorrelID 参数是否包含正确的值?您的输入的结构是什么?