我是IBM MQ中的新成员。使用下面的代码,我可以轻松地将消息放入队列中并获取该消息。如何获取有关从队列中检索的消息的信息
public void QueuePut()
{
queue = queueManager.AccessQueue("Q1", MQC.MQOO_OUTPUT + MQC.MQOO_FAIL_IF_QUIESCING);
MQMessage message = new MQMessage();
message.WriteString("stackoverflow");
MQPutMessageOptions putMessageOptions = new MQPutMessageOptions();
putMessageOptions.Options += MQC.MQPMO_ASYNC_RESPONSE;
queue.Put(message, putMessageOptions);
}
public void QueueGet()
{
queue = queueManager.AccessQueue("Q2", MQC.MQOO_INPUT_AS_Q_DEF + MQC.MQOO_FAIL_IF_QUIESCING);
MQMessage gotMessage = new MQMessage();
queue.Get(gotMessage);
string str = message.ReadString(gotMessage.MessageLength);
}
你可以很容易地看到我正在写一个消息,“Q1”和“Q2”读它,因为Q1是别名队列
现在,我想的事情是获得有关信息我在QueueGet函数中获得的消息。我想知道的是gotMessage来自'Q1',即使我正在'Q2'中阅读它。
这听起来不太合适,如果将它放入队列Q1,您如何从Q2队列中读取消息? – Alioza
@Alioza Q1是Q2的别名。 – Shashi
你是否仍然需要找出原始队列的名称?我发现了一个解决方法,它允许将别名队列指向主题对象,然后将目标队列订阅到主题字符串。这将在MQMD中添加可以指示原始队列名称的属性。让我知道你是否希望我把这些细节写成答案? – JoshMc