Cosminexus アプリケーションサーバ V8 機能解説 基本・開発編(コンテナ共通機能)

繧ウ繝シ繝 髟キ雋。蟶 COACH 繝ャ繧カ繝シ 繝代ャ繝√Ρ繝シ繧ッ 繝ッ繝繝壹Φ 繧「繧ウ繝シ繝繧」繧ェ繝ウ 繧ク繝繝 髟キ雋。蟶 繝√Ε繝シ繧ッ 25970 繝悶Λ繝ウ繝 譁ー蜩8kXOPn0w繧ウ繝シ繝 髟キ雋。蟶 COACH 繝ャ繧カ繝シ 繝代ャ繝√Ρ繝シ繧ッ 繝ッ繝繝壹Φ 繧「繧ウ繝シ繝繧」繧ェ繝ウ 繧ク繝繝 髟キ雋。蟶 繝√Ε繝シ繧ッ 25970 繝悶Λ繝ウ繝 譁ー蜩8kXOPn0w繧ウ繝シ繝 髟キ雋。蟶 COACH 繝ャ繧カ繝シ 繝代ャ繝√Ρ繝シ繧ッ 繝ッ繝繝壹Φ 繧「繧ウ繝シ繝繧」繧ェ繝ウ 繧ク繝繝 髟キ雋。蟶 繝√Ε繝シ繧ッ 25970 繝悶Λ繝ウ繝 譁ー蜩8kXOPn0w繧ウ繝シ繝 髟キ雋。蟶 COACH 繝ャ繧カ繝シ 繝代ャ繝√Ρ繝シ繧ッ 繝ッ繝繝壹Φ 繧「繧ウ繝シ繝繧」繧ェ繝ウ 繧ク繝繝 髟キ雋。蟶 繝√Ε繝シ繧ッ 25970 繝悶Λ繝ウ繝 譁ー蜩8kXOPn0w繧ウ繝シ繝 髟キ雋。蟶 COACH 繝ャ繧カ繝シ 繝代ャ繝√Ρ繝シ繧ッ 繝ッ繝繝壹Φ 繧「繧ウ繝シ繝繧」繧ェ繝ウ 繧ク繝繝 髟キ雋。蟶 繝√Ε繝シ繧ッ 25970 繝悶Λ繝ウ繝 譁ー蜩8kXOPn0w繧ウ繝シ繝 髟キ雋。蟶 COACH 繝ャ繧カ繝シ 繝代ャ繝√Ρ繝シ繧ッ 繝ッ繝繝壹Φ 繧「繧ウ繝シ繝繧」繧ェ繝ウ 繧ク繝繝 髟キ雋。蟶 繝√Ε繝シ繧ッ 25970 繝悶Λ繝ウ繝 譁ー蜩8kXOPn0w繧ウ繝シ繝 髟キ雋。蟶 COACH 繝ャ繧カ繝シ 繝代ャ繝√Ρ繝シ繧ッ 繝ッ繝繝壹Φ 繧「繧ウ繝シ繝繧」繧ェ繝ウ 繧ク繝繝 髟キ雋。蟶 繝√Ε繝シ繧ッ 25970 繝悶Λ繝ウ繝 譁ー蜩8kXOPn0wMichael Kors 繝槭う繧ア繝ォ繧ウ繝シ繧ケ 繝吶ャ繝峨ヵ繧ゥ繝シ繝 2WAY 繧キ繝ァ繝ォ繝繝シ繝舌ャ繧ー 繝医シ繝医ヰ繝繧ー繝ャ繝繧」繝シ繧ケ 繝阪う繝薙シ 蝙区款縺励Ξ繧カ繝シXukZPi繝ェ繝シ繝 繧オ繝ウ繝繝ォ 繝薙シ繝√し繝ウ繝繝ォ 繝。繝ウ繧コ Reef One Beach Slide Grey Tan Syntheticb76vgyYf繝翫う繧ュ 繧ク繝ァ繝シ繝繝ウ JORDAN 繝溘ャ繝 繧イ繝シ繝 繧ケ繝九シ繧ォ繝シGAME 1 MID OBSIDIAN ROYAL ROYALSUMMIT WHITE繝。繝ウ繧コ4A35LRj繧ィ繝溘Η繝シ emu 繝舌Ξ繝ェ繝シ 繝ュ繝シ 繝繝シ繝医Φ繝悶シ繝 VALERY LO W10541 繝ャ繝繧」繝シ繧ケX8OPkwn0

繧ウ繝シ繝 髟キ雋。蟶 COACH 繝ャ繧カ繝シ 繝代ャ繝√Ρ繝シ繧ッ 繝ッ繝繝壹Φ 繧「繧ウ繝シ繝繧」繧ェ繝ウ 繧ク繝繝 髟キ雋。蟶 繝√Ε繝シ繧ッ 25970 繝悶Λ繝ウ繝 譁ー蜩8kXOPn0w

Pub/Subメッセージングモデルは,パブリッシュ・サブスクライブ(Publish-Subscribe)方式でメッセージを送受信するためのモデルです。

<この項の構成>
繝ヲ繝翫う繝繝繝峨い繝ュ繝シ繧コUNITED ARROWS 繧ウ繝シ繝 繧「繧ヲ繧ソ繝シ 繧ケ繧ソ繝ウ繝 逋ス繝帙Ρ繧、繝 繧オ繧、繧コ L USED蜿、逹doCBex
GERVE繧ク繧ァ繝ォ繝吶が繝ォ繧ャ繝ャ繝シ繧ケ繝弱シ繧ケ繝ェ繝√Η繝九ャ繧ッ 85161TPXiOkZwu
繧オ繝九シ繧ケ繝昴シ繝 SUNNY SPORTS 繧、繝シ繧ク繝シ繝代Φ繝 繧オ繧、繧コM 繝。繝ウ繧コ TRAIL 3D PANTS 繝医Ξ繧、繝ォ繝代Φ繝 繝悶Λ繝ウMVpqUzSG
繝昴う繝ウ繝10蛟阪ヵ繝ャ繝ウ繝√ヶ繝ォ French Bull Cion 繧ッ繝ォ繝シ繝阪ャ繧ッ 蜊願「 繝ェ繝阪Φ繧キ繝ォ繧ッ繝ェ繝悶ル繝繝 繝九ャ繝医励Ν繧ェ繝シ繝進OXZkPuT

繧ウ繝シ繝 髟キ雋。蟶 COACH 繝ャ繧カ繝シ 繝代ャ繝√Ρ繝シ繧ッ 繝ッ繝繝壹Φ 繧「繧ウ繝シ繝繧」繧ェ繝ウ 繧ク繝繝 髟キ雋。蟶 繝√Ε繝シ繧ッ 25970 繝悶Λ繝ウ繝 譁ー蜩8kXOPn0w

Pub/Subメッセージングモデルでは,メッセージを作成して送信する送信側のクライアント(プロデューサー)をパブリッシャーといいます。また,メッセージを受信する側のクライアント(コンシューマー)をサブスクライバーといいます。

パブリッシャーから送信されたメッセージは,トピックという送信先に登録されます。トピックに登録されたメッセージは,そのトピックに対して配信を申し込んでいた一つまたは複数のサブスクライバーに配信されます。

Pub/Subメッセージングモデルでのメッセージの流れを次の図に示します。

WRANGLER Sneakers 繝。繝ウ繧コrWBQexCod 図7-6 Pub/Subメッセージングモデルでのメッセージの流れ

繧ウ繝シ繝 髟キ雋。蟶 COACH 繝ャ繧カ繝シ 繝代ャ繝√Ρ繝シ繧ッ 繝ッ繝繝壹Φ 繧「繧ウ繝シ繝繧」繧ェ繝ウ 繧ク繝繝 髟キ雋。蟶 繝√Ε繝シ繧ッ 25970 繝悶Λ繝ウ繝 譁ー蜩8kXOPn0w

メッセージは,パブリッシャーから送信され,トピックに登録されます。図の場合,トピック1にはサブスクライバー1,トピック2にはサブスクライバー2とサブスクライバー3が登録されています。このとき,トピック1に登録されたメッセージ1とメッセージ2はサブスクライバー1に配信されます。トピック2に登録されたメッセージ3はサブスクライバー2とサブスクライバー3に配信されます。

繧ウ繝シ繝 髟キ雋。蟶 COACH 繝ャ繧カ繝シ 繝代ャ繝√Ρ繝シ繧ッ 繝ッ繝繝壹Φ 繧「繧ウ繝シ繝繧」繧ェ繝ウ 繧ク繝繝 髟キ雋。蟶 繝√Ε繝シ繧ッ 25970 繝悶Λ繝ウ繝 譁ー蜩8kXOPn0w

Pub/Subメッセージングモデルの特徴を次に示します。

メッセージの送信〜処理実行までの特徴
  • 一つまたは複数のパブリッシャーから,メッセージをトピックに登録できます。
  • 一つまたは複数のサブスクライバーが,トピックからメッセージを取り出して処理できます。
  • サブスクライバーは,配信を申し込んだトピックに登録されたすべてのメッセージについて,受信して処理できます。ただし,メッセージセレクターで設定した基準に該当しないメッセージ,または受信する前にメッセージの有効期限が過ぎたメッセージについては受信できません。
  • メッセージは,パブリッシャーが送信した順序でトピックに登録されます。ただし,サブスクライバーで処理される順序は,それぞれのメッセージの有効期限,優先順位,またはサブスクライバーで設定されたメッセージセレクターの内容によって決まります。
  • パブリッシャーとサブスクライバーが処理を実行するタイミングには依存性があります。トピックに登録されたメッセージは,メッセージが登録される前に開始されていたサブスクライバーだけに配信されます。
  • 繧サ繝舌ざ 繝ャ繝シ繧ケ繧「繝繝励ヶ繝シ繝 繝。繝ウ繧コ Sebago Rogden Mid SuedeBeige CamelKc31FTlJ Columbia 繧イ繝繝代シ繝悶シ繝九シ 繧ウ繝ュ繝ウ繝薙い 蟶ス蟄 繝倥い蟆冗黄 繝上ャ繝 繧ー繝ェ繝シ繝ウ 繝悶Λ繝繧ッ 繝悶Ν繝シ 繝阪う繝薙シ 繝ャ繝繝 騾∵侭辟。譁冤KTFc1J
  • サブスクライバーの属性に「NoLocal」を指定した場合,サブスクライバーが使用しているコネクションと同じコネクションで送信されたメッセージの受信を抑止できます。この属性のデフォルトは「false」です。

システムの特徴
  • パブリッシャーとサブスクライバーは動的に追加・削除できます。これによって,使用状況に応じてシステムを拡張,縮小できます。
  • Cosminexus JMSプロバイダとの接続で使用するコネクションは,複数のプロデューサーで共有できます。なお,コネクションを共有しているかどうかに関係なく,複数のプロデューサーから同じのトピックにメッセージを送信できます。
  • Cosminexus JMSプロバイダとの接続で使用するコネクションは,複数のサブスクライバーで共有できます。なお,コネクションを共有しているかどうかに関係なく,複数のサブスクライバーから同じトピックに接続できます。

繧ウ繝シ繝 髟キ雋。蟶 COACH 繝ャ繧カ繝シ 繝代ャ繝√Ρ繝シ繧ッ 繝ッ繝繝壹Φ 繧「繧ウ繝シ繝繧」繧ェ繝ウ 繧ク繝繝 髟キ雋。蟶 繝√Ε繝シ繧ッ 25970 繝悶Λ繝ウ繝 譁ー蜩8kXOPn0w

トピックに登録されたメッセージは,メッセージ登録時に開始されていたサブスクライバーだけが受信できます。通常のサブスクライバーは,停止していた期間に登録されたメッセージは受信できません。

これに対して,サブスクライバーを永続化することで,停止していた期間に登録されたメッセージも受信できるようになります。永続化したサブスクライバーを永続化サブスクライバーといいます。

永続化サブスクライバーが登録されたトピックのメッセージは,次のどちらかの状態になるまで削除されません。

永続化サブスクライバーを利用する場合,そのサブスクライバーに固有の識別子と名称を登録します。登録した情報は,CJMSPブローカーによって保持されます。永続化サブスクライバーが停止しているときに登録されたメッセージは,登録した識別子および名称のサブスクライバーが再開されたときに,そのサブスクライバーに配信されます。

永続化サブスクライバーを利用した場合のメッセージの送受信の流れを次の図に示します。

繧ウ繝シ繝 髟キ雋。蟶 COACH 繝ャ繧カ繝シ 繝代ャ繝√Ρ繝シ繧ッ 繝ッ繝繝壹Φ 繧「繧ウ繝シ繝繧」繧ェ繝ウ 繧ク繝繝 髟キ雋。蟶 繝√Ε繝シ繧ッ 25970 繝悶Λ繝ウ繝 譁ー蜩8kXOPn0w 繧ウ繝シ繝 髟キ雋。蟶 COACH 繝ャ繧カ繝シ 繝代ャ繝√Ρ繝シ繧ッ 繝ッ繝繝壹Φ 繧「繧ウ繝シ繝繧」繧ェ繝ウ 繧ク繝繝 髟キ雋。蟶 繝√Ε繝シ繧ッ 25970 繝悶Λ繝ウ繝 譁ー蜩8kXOPn0w

図7-7 永続化サブスクライバーを利用した場合のメッセージの送受信の流れ

繧ウ繝シ繝 髟キ雋。蟶 COACH 繝ャ繧カ繝シ 繝代ャ繝√Ρ繝シ繧ッ 繝ッ繝繝壹Φ 繧「繧ウ繝シ繝繧」繧ェ繝ウ 繧ク繝繝 髟キ雋。蟶 繝√Ε繝シ繧ッ 25970 繝悶Λ繝ウ繝 譁ー蜩8kXOPn0w

永続化サブスクライバーを利用した場合のメッセージの送受信の流れについて説明します。なお,説明の番号は図中の番号と対応しています。

  1. サブスクライバー1を永続化サブスクライバーとしてトピックに登録します。
    識別子(ClientID)は,「1」とします。
  2. パブリッシャー1が,メッセージ1をトピックに登録します。
  3. サブスクライバー1は,メッセージ1をトピックから受信します。
  4. サブスクライバー1を停止します。
    停止した状態になると,トピックに登録されたメッセージは受信できません。
  5. パブリッシャー2が,メッセージ2をトピックに登録します。サブスクライバー1は停止中のため,メッセージ2を受信できません。ただし,サブスクライバー1は永続化サブスクライバーとして登録されているため,このメッセージは登録された永続化サブスクライバーがメッセージを受信するまでトピックで保管されます。
  6. サブスクライバー2を永続化サブスクライバーとしてトピックに登録します。このとき,識別子(ClientID)を「1」として,サブスクライバーの名称はサブスクライバー1と同じ値にします。
    永続化サブスクライバーの情報を保持しているCJMSPブローカーは,識別子と名称からサブスクライバー2は登録済みの永続化サブスクライバーが再開したものと判断します。
  7. 繝輔ぅ繧ェ繝ャ繝繝ェ 繝帙シ繝懊シ繝舌ャ繧ー 繧キ繝ァ繝ォ繝繝シ繝舌ャ繧ー 繝ャ繝繧」繝シ繧ケ Fiorelli Erin HoboBlackPnk0O8w
  8. トピックに保管されていたメッセージ2がサブスクライバー2に配信されます。

永続化サブスクライバーの指定を解除する場合は,次のどちらかの方法で解除してください。

cjmsicmd destroy durコマンドについては,マニュアル「Cosminexus アプリケーションサーバ リファレンス コマンド編」の「cjmsicmd destroy dur(永続化サブスクライバーの破棄)」を参照してください。

繧ウ繝シ繝 髟キ雋。蟶 COACH 繝ャ繧カ繝シ 繝代ャ繝√Ρ繝シ繧ッ 繝ッ繝繝壹Φ 繧「繧ウ繝シ繝繧」繧ェ繝ウ 繧ク繝繝 髟キ雋。蟶 繝√Ε繝シ繧ッ 25970 繝悶Λ繝ウ繝 譁ー蜩8kXOPn0w

unsubscribeメソッドを使用すると,サブスクライバーのために保持されたトピックの状態を解除できます。ただし,このメソッドは,次のタイミングでは使用しないでください。

なお,確認応答モードが「CLIENT_ACKNOWLEDGE」のセッションによって永続化サブスクライバーが作成された場合に,メッセージ受信が確認されていない状態でunsubscribeメソッドが実行されたときには,メッセージは送信先に残ってしまいます。この状況を避けるため,unsubscribeメソッドを使用する場合,事前にcjmsicmd purge durコマンドを実行して,永続化サブスクライバーに関連づけられているすべてのメッセージを削除してください。

注意
一時的な送信先として作成したトピックに対して,永続化サブスクライバーは登録できません。作成しようとすると,例外がスローされます。

[目次][前へ][次へ]


[他社商品名称に関する表示]

All Rights Reserved. Copyright (C) 2008, 2011, Hitachi, Ltd.