WebSphere Message Service Clients for C/C++ and .NET, Version 1.2 作業系統: Linux, Windows

非同步訊息遞送

如果 C 應用程式向訊息使用端登錄訊息接聽器函數和環境定義資料, 或者,如果 C++ 應用程式向訊息使用端登錄訊息接聽器, 則應用程式可非同步接收訊息。

當訊息使用端的訊息送達時, XMS 會呼叫訊息接聽器函數,並將環境定義資料的指標當成一個參數傳遞, 以及將訊息的控點當成另一個參數傳遞, 以遞送訊息給 C 應用程式。XMS 會呼叫訊息接聽器的 onMessage() 方法, 並將訊息指標當成參數傳遞,以遞送訊息給 C++ 應用程式。

XMS 使用一個執行緒來處理階段作業的所有非同步訊息遞送。這表示一次只能執行一個訊息接聽器函數或一個 onMessage() 方法。如果階段作業中有多個訊息使用端非同步接收訊息, 且訊息接聽器函數或 onMessage() 方法目前正遞送訊息給一個訊息使用端, 則其他任何正在等待相同訊息的訊息使用端必須繼續等待。而正等著遞送給階段作業的其他訊息也必須繼續等待。

如果應用程式需要同時遞送訊息,它必須建立多個階段作業, 以便讓 XMS 使用多個執行緒來處理非同步訊息的遞送。在此方式下, 即可同時執行多個訊息接聽器函數或 onMessage() 方法。

如需在 C 應用程式中使用訊息接聽器函數的相關資訊,請參閱在 C 中使用訊息接聽器函數。如果您使用 C++, 請改參閱在 C++ 中使用訊息接聽器

相關概念
交易式階段作業
在階段作業中確認收到訊息
同步訊息遞送
訊息遞送模式

Concept topic

使用條款 | 評比此網頁

時間戳記前次更新: 25 Apr 2006
(C) Copyright IBM Corporation 2005. All Rights Reserved.
本資訊中心採用 Eclipse 技術。(http://www.eclipse.org)