我是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