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

B繝ゥ繝ウ繧ッ邏23ス23 5cmESTACION 繧ィ繧ケ繧ソ繧キ繧ェ繝ウ 繝槭Ν繝√き繝ゥ繝シ 繧キ繝ァ繝シ繝医ヶ繝シ繝 蝙狗分 TG161繝ャ繝繧」繝シYfbyvI76gmB繝ゥ繝ウ繧ッ邏23ス23 5cmESTACION 繧ィ繧ケ繧ソ繧キ繧ェ繝ウ 繝槭Ν繝√き繝ゥ繝シ 繧キ繝ァ繝シ繝医ヶ繝シ繝 蝙狗分 TG161繝ャ繝繧」繝シYfbyvI76gmB繝ゥ繝ウ繧ッ邏23ス23 5cmESTACION 繧ィ繧ケ繧ソ繧キ繧ェ繝ウ 繝槭Ν繝√き繝ゥ繝シ 繧キ繝ァ繝シ繝医ヶ繝シ繝 蝙狗分 TG161繝ャ繝繧」繝シYfbyvI76gmB繝ゥ繝ウ繧ッ邏23ス23 5cmESTACION 繧ィ繧ケ繧ソ繧キ繧ェ繝ウ 繝槭Ν繝√き繝ゥ繝シ 繧キ繝ァ繝シ繝医ヶ繝シ繝 蝙狗分 TG161繝ャ繝繧」繝シYfbyvI76gmB繝ゥ繝ウ繧ッ邏23ス23 5cmESTACION 繧ィ繧ケ繧ソ繧キ繧ェ繝ウ 繝槭Ν繝√き繝ゥ繝シ 繧キ繝ァ繝シ繝医ヶ繝シ繝 蝙狗分 TG161繝ャ繝繧」繝シYfbyvI76gmB繝ゥ繝ウ繧ッ邏23ス23 5cmESTACION 繧ィ繧ケ繧ソ繧キ繧ェ繝ウ 繝槭Ν繝√き繝ゥ繝シ 繧キ繝ァ繝シ繝医ヶ繝シ繝 蝙狗分 TG161繝ャ繝繧」繝シYfbyvI76gmB繝ゥ繝ウ繧ッ邏23ス23 5cmESTACION 繧ィ繧ケ繧ソ繧キ繧ェ繝ウ 繝槭Ν繝√き繝ゥ繝シ 繧キ繝ァ繝シ繝医ヶ繝シ繝 蝙狗分 TG161繝ャ繝繧」繝シYfbyvI76gmB繝ゥ繝ウ繧ッ邏23ス23 5cmESTACION 繧ィ繧ケ繧ソ繧キ繧ェ繝ウ 繝槭Ν繝√き繝ゥ繝シ 繧キ繝ァ繝シ繝医ヶ繝シ繝 蝙狗分 TG161繝ャ繝繧」繝シYfbyvI76gmB繝ゥ繝ウ繧ッ邏23ス23 5cmESTACION 繧ィ繧ケ繧ソ繧キ繧ェ繝ウ 繝槭Ν繝√き繝ゥ繝シ 繧キ繝ァ繝シ繝医ヶ繝シ繝 蝙狗分 TG161繝ャ繝繧」繝シYfbyvI76gmB繝ゥ繝ウ繧ッ邏23ス23 5cmESTACION 繧ィ繧ケ繧ソ繧キ繧ェ繝ウ 繝槭Ν繝√き繝ゥ繝シ 繧キ繝ァ繝シ繝医ヶ繝シ繝 蝙狗分 TG161繝ャ繝繧」繝シYfbyvI76gmB繝ゥ繝ウ繧ッ邏25 5cmRED WING 繝ャ繝繝峨え繧」繝ウ繧ー 繝壹さ繧ケ繝悶シ繝 PT99 繧ケ繝シ繝代シ繧ス繝シ繝ォ 蝙狗分 2253繝。繝ウ繧コ繝悶シ繝87VqMSpUzTimberland セ夲スサセ橸スー セセ橸スッスキスシスュスーススセ 8XnwP8Ok0K18 繧ィ繝。繝ゥ繝ォ繝 繝ェ繝ウ繧ー 繧キ繝ウ繝励Ν 繧ィ繝ャ繧ャ繝ウ繝 謖霈ェj5L34AR繧エ繧ケ繝ュ繝ェ繝ッ繝シ繝ォ繝 PUNKRAVE 繧エ繧ケ繝ュ繝ェ 繧ク繝繝代シ繧ケ繧ソ繝繧コ荳蛾」繝励Λ繝舌ャ繧ッ繝ォ繧「繝シ繝 繧ー繝ュ繝シ繝 繝。繝ウ繧コ 繝悶Λ繝繧ッ 鮟 繧エ繧ケ繝ュ繝ェ 繧エ繧キ繝繧ッ 繝代Φ繧ッ 繝ュ繝繧ッ 繝ュ繝ェ繝シ繧ソ 繝薙ず繝・繧「繝ォ邉サ 繝エ繧」繧ク繝・繧「繝ォ邉サ V邉サ 繝繝シ繧ッ 繝。繝ウ繧コ 繝輔ぃ繝繧キ繝ァ繝ウ 繝ゥ繧、繝 闊槫床 繧ケ繝繝シ繧ク 陦」陬 繧ウ繧ケ繝励Ξ 繧、繝吶Φ繝 譛郊edCorBW

B繝ゥ繝ウ繧ッ邏23ス23 5cmESTACION 繧ィ繧ケ繧ソ繧キ繧ェ繝ウ 繝槭Ν繝√き繝ゥ繝シ 繧キ繝ァ繝シ繝医ヶ繝シ繝 蝙狗分 TG161繝ャ繝繧」繝シYfbyvI76gm

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

<この項の構成>
繝ヲ繝翫う繝繝繝峨い繝ュ繝シ繧コUNITED ARROWS 繧ウ繝シ繝 繧「繧ヲ繧ソ繝シ 繧ケ繧ソ繝ウ繝 逋ス繝帙Ρ繧、繝 繧オ繧、繧コ L USED蜿、逹doCBex
GERVE繧ク繧ァ繝ォ繝吶が繝ォ繧ャ繝ャ繝シ繧ケ繝弱シ繧ケ繝ェ繝√Η繝九ャ繧ッ 85161TPXiOkZwu
繧オ繝九シ繧ケ繝昴シ繝 SUNNY SPORTS 繧、繝シ繧ク繝シ繝代Φ繝 繧オ繧、繧コM 繝。繝ウ繧コ TRAIL 3D PANTS 繝医Ξ繧、繝ォ繝代Φ繝 繝悶Λ繝ウMVpqUzSG
BLACK KAVIAR blackkaviar 繝悶Λ繝繧ッ繧ュ繝」繝薙い SNAPBACK CAP 繧ケ繝翫ャ繝励ヰ繝繧ッ繧ュ繝」繝繝 KAPITO 蟶ス蟄 繧「繧ク繝」繧ケ繧ソ繝シ BASEBALL CAP 繝「繝シ繝 STREET MODE 騾夊イゥ 繧ェ繧キ繝」繝ャ 縺九▲縺薙>縺 繝「繝繧1荳蜀莉・荳願ウシ蜈・縺ァ騾∵侭辟。譁吶ヵ繧。繝繧キ繝ァ繝ウ繝悶Λ繝ウ繝画ュ」隕城夊イゥ 譁ー蜩〃SpqUzM

B繝ゥ繝ウ繧ッ邏23ス23 5cmESTACION 繧ィ繧ケ繧ソ繧キ繧ェ繝ウ 繝槭Ν繝√き繝ゥ繝シ 繧キ繝ァ繝シ繝医ヶ繝シ繝 蝙狗分 TG161繝ャ繝繧」繝シYfbyvI76gm

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

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

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

繧「繝繧」繝繧ケ adidas Golf 繝ャ繝繧」繝シ繧ケ 繝溘ル繧ケ繧ォ繝シ繝 繧ケ繧ウ繝シ繝 繧ケ繧ォ繝シ繝 Ultimate Knit 18' Skortn80mNw 図7-6 Pub/Subメッセージングモデルでのメッセージの流れ

B繝ゥ繝ウ繧ッ邏23ス23 5cmESTACION 繧ィ繧ケ繧ソ繧キ繧ェ繝ウ 繝槭Ν繝√き繝ゥ繝シ 繧キ繝ァ繝シ繝医ヶ繝シ繝 蝙狗分 TG161繝ャ繝繧」繝シYfbyvI76gm

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

B繝ゥ繝ウ繧ッ邏23ス23 5cmESTACION 繧ィ繧ケ繧ソ繧キ繧ェ繝ウ 繝槭Ν繝√き繝ゥ繝シ 繧キ繝ァ繝シ繝医ヶ繝シ繝 蝙狗分 TG161繝ャ繝繧」繝シYfbyvI76gm

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

メッセージの送信〜処理実行までの特徴
  • 一つまたは複数のパブリッシャーから,メッセージをトピックに登録できます。
  • 一つまたは複数のサブスクライバーが,トピックからメッセージを取り出して処理できます。
  • サブスクライバーは,配信を申し込んだトピックに登録されたすべてのメッセージについて,受信して処理できます。ただし,メッセージセレクターで設定した基準に該当しないメッセージ,または受信する前にメッセージの有効期限が過ぎたメッセージについては受信できません。
  • メッセージは,パブリッシャーが送信した順序でトピックに登録されます。ただし,サブスクライバーで処理される順序は,それぞれのメッセージの有効期限,優先順位,またはサブスクライバーで設定されたメッセージセレクターの内容によって決まります。
  • パブリッシャーとサブスクライバーが処理を実行するタイミングには依存性があります。トピックに登録されたメッセージは,メッセージが登録される前に開始されていたサブスクライバーだけに配信されます。
  • 繝溘ラ繝ェ螳牙ィ 髱咎崕豌怜クッ髮サ髦イ豁「菴懈・ュ譛 逕キ蟄舌せ繝ゥ繝繧ッ繧ケ1逹蜩∫分 VE77 SITA LA3jLq45R Silver 繧キ繝ォ繝舌シ 繧ク繝・繧ィ繝ェ繝シ 謖霈ェ繝サ繝ェ繝ウ繧ー 3 83 TCW Round Cubic Zirconia Platinum5RLAj4
  • サブスクライバーの属性に「NoLocal」を指定した場合,サブスクライバーが使用しているコネクションと同じコネクションで送信されたメッセージの受信を抑止できます。この属性のデフォルトは「false」です。

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

B繝ゥ繝ウ繧ッ邏23ス23 5cmESTACION 繧ィ繧ケ繧ソ繧キ繧ェ繝ウ 繝槭Ν繝√き繝ゥ繝シ 繧キ繝ァ繝シ繝医ヶ繝シ繝 蝙狗分 TG161繝ャ繝繧」繝シYfbyvI76gm

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

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

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

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

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

B繝ゥ繝ウ繧ッ邏23ス23 5cmESTACION 繧ィ繧ケ繧ソ繧キ繧ェ繝ウ 繝槭Ν繝√き繝ゥ繝シ 繧キ繝ァ繝シ繝医ヶ繝シ繝 蝙狗分 TG161繝ャ繝繧」繝シYfbyvI76gm B繝ゥ繝ウ繧ッ邏23ス23 5cmESTACION 繧ィ繧ケ繧ソ繧キ繧ェ繝ウ 繝槭Ν繝√き繝ゥ繝シ 繧キ繝ァ繝シ繝医ヶ繝シ繝 蝙狗分 TG161繝ャ繝繧」繝シYfbyvI76gm

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

B繝ゥ繝ウ繧ッ邏23ス23 5cmESTACION 繧ィ繧ケ繧ソ繧キ繧ェ繝ウ 繝槭Ν繝√き繝ゥ繝シ 繧キ繝ァ繝シ繝医ヶ繝シ繝 蝙狗分 TG161繝ャ繝繧」繝シYfbyvI76gm

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

  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. ara ara 繧「繝ゥ繧「繝ゥ 繧キ繝ァ繝ォ繝繝シ繝繧カ繧、繝ウ繧ク繝繝 繧ケ繧ヲ繧ァ繝繝医Ρ繝ウ繝斐シ繧ケ繝サ141062繝サ141068M騾∵侭辟。譁儺FJKc3l1
  8. トピックに保管されていたメッセージ2がサブスクライバー2に配信されます。

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

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

B繝ゥ繝ウ繧ッ邏23ス23 5cmESTACION 繧ィ繧ケ繧ソ繧キ繧ェ繝ウ 繝槭Ν繝√き繝ゥ繝シ 繧キ繝ァ繝シ繝医ヶ繝シ繝 蝙狗分 TG161繝ャ繝繧」繝シYfbyvI76gm

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

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

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

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


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

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