パブリケーション は、パブリッシュ/サブスクライブ・システムのキュー・マネージャーで使用可能な指定したトピックについての情報です。
通常、キュー・マネージャーは、接続されているすべての、パブリケーションへのサブスクリプションを登録済みのアプリケーションに受け取ったパブリケーションを配布します。 また、キュー・マネージャーは、他のすべての接続されているキュー・マネージャーへも直接、またはパブリケーションのサブスクライバーを持つキュー・マネージャーのネットワークを通してパブリケーションを配布します。
パブリッシャーは、パブリケーションへのアクセスを、パブリッシャーと同じキュー・マネージャーに登録されているサブスクライバーのみに制限できます。 このパブリケーションを、ローカル・パブリケーション といいます。 ローカル・パブリケーションは、他のキュー・マネージャーには転送されません。
パブリッシャーと同じキュー・マネージャーに登録されているサブスクライバーのみに配布が制限されていないパブリケーションは、グローバル・パブリケーション と呼ばれています。 グローバル・パブリケーションは、直接、または 1 つ以上のサブスクライバーを持つキュー・マネージャーのネットワークを通して接続されているすべてのキュー・マネージャーへ転送されます。
通常、キュー・マネージャーは、パブリケーションを送信した後、そのパブリケーションを廃棄します。 しかし、パブリッシャーは、(Publish メッセージの場合、RetainPub オプションを指定することによって) キュー・マネージャーがパブリケーションのコピーを保存するよう指定できます。このパブリケーションは、保存パブリケーション と呼ばれます。
保存パブリケーションがパブリッシュ済みの場合、そのパブリケーションに対する新規のサブスクライバーは、パブリケーションが再びパブリッシュされるのを待たずに、パブリケーションを受け取れます。
例えば、株式価格のサブスクリプションを登録しているサブスクライバーは、株価がリパブリッシュされるのを待たなくても、パブリッシュされた最新の株価をすぐに受け取ります。
キュー・マネージャーは各トピックおよびサブスクリプション・ポイントの組み合わせごとに 1 つのパブリケーションしか保存しません。
パブリッシュされた情報は、状態 情報もしくは イベント 情報のいずれかに分類することができます。
状態情報とは、何かの現在の状態についての情報です。 現在の株価や、サッカーの試合の現在の得点は、どちらも状態情報の例です。
イベント情報とは、生じる個別のイベントに関する情報です。 株価の変化や、サッカーの試合の特定のスコアは、どちらもイベント情報の例です。
イベントが生じるとき、現行の状態情報は必要でなくなり、新しい状態情報がそれを置き換えます。
パブリケーションが状態情報を含む場合、これはしばしば保存パブリケーションとしてパブリッシュされます。 通常新しいサブスクライバーは、現行情報を即時に入手したいものです。サブスクライバーは、イベントが生じて情報がリパブリッシュされるまで待つことを望みません。