發佈
發佈是由應用程式傳送給「發佈/訂閱引擎」的訊息。 「發佈/訂閱引擎」接著會將訊息傳給任何已訂閱要接收這些訊息的應用程式。
「發佈/訂閱引擎」可以根據發佈中包含的資訊類型,以不同的方式來處理其接收的發佈。
狀態和事件資訊
發佈可以依其包含的資訊類型來分類:
- 狀態發佈
- 狀態發佈包含某些內容之現行狀態的相關資訊,如:股價或足球賽的目前分數。 當發生某些情況(比方說,股價變動或足球分數改變)時,之前的狀態資訊就不再需要,因為它會被新的資訊所取代。
- 事件發佈
- 事件發佈含有所發生之個別事件的相關資訊,如:某些股票的交易或特定進門的得分。 每一個事件與其他事件都是互相獨立的。
保留的發佈
依預設,當「發佈/訂閱引擎」傳送發佈給所有有興趣的訂閱者之後,「發佈/訂閱引擎」就會刪除該發佈。 這種類型的處理適合事件資訊,但不一定適合狀態資訊。 發佈者可以指定「發佈/訂閱引擎」必須保留發佈的副本,其稱為保留的發佈。 該副本可以被傳送給後續登錄對該主題有興趣的訂閱者。 這表示新的訂閱者不必等到資訊重新發佈,就可以接收該資訊。 比方說,登錄訂閱股價的訂閱者會立即收到目前的股價,而不需等到股價變動(因而重新發佈)。
「發佈/訂閱引擎」只會為每一個主題保留一份發佈,因此當新的發佈送達時,舊的發佈就會被刪除。 因此,請確定只有一個發佈者會針對每一個主題傳送保留的發佈。
訂閱者可以指定不要接收保留的發佈,且現有的訂閱者可以要求將保留發佈的副本傳送給他們。
如需如何決定是否使用保留的發佈資訊的相關資訊,請參閱 IBM® Documentation中的 保留的發佈資訊 。