Soccer Results サンプルの実行
Soccer Results サンプルには、コマンド行から実行する 2 つの小規模なアプリケーションが組み込まれています。
- SoccerResults。サブスクライバー。現在行われているサッカーのすべての試合の結果をサブスクライブします。1 度に 1 つだけ SoccerResults のインスタンスを実行します。
- SoccerGame。パブリッシャー。サッカーの試合をシミュレートして、ゴールが入るとイベント情報をパブリッシュします。1 度に 1 つ以上の SoccerGame のインスタンスを実行できます。
SoccerResults および SoccerGame アプリケーションは、WebSphere Message Brokers ランタイムの一部として
インストールされます。
- Windows では、SoccerResults および SoccerGame アプリケーションは
install_dir¥sample¥soccer¥bin にインストールされます。
- Linux および Unix では、これらのアプリケーションは
install_dir/sample/soccer/bin にインストールされます。
install_dir は、WebSphere Message Brokers がインストールされているディレクトリーです。
サブスクライバー・アプリケーションの SoccerResults を、パブリッシャー・アプリケーション SoccerGame のどの
インスタンスよりも先に開始しておく必要があります。
SoccerGame アプリケーションを最初に開始すると、SoccerResults アプリケーションで、結果のパブリケーションの一部が欠落して
しまう場合があります。
サンプルを実行するには、次のようにします。
- 以下のように、SoccerResults アプリケーションを開始します。
- コマンド行で、SoccerResults アプリケーションが入っているディレクトリーに移動します。
- 次のコマンドを実行します。
WBRK6_DEFAULT_QUEUE_MANAGER はデフォルト構成でのブローカーのキュー・マネージャーの名前です。
soccerResults WBRK6_DEFAULT_QUEUE_MANAGER
SoccerResults アプリケーションは、サブスクリプションを登録し、正常に開始されたことを示す
メッセージを表示します。
WebSphere Message Brokers では大文字と小文字が区別されるため、キュー・マネージャーの名前は、作成時に指定された名前を
大文字と小文字の違いも含めて正確に入力する必要があります。
- 以下のように、SoccerGame アプリケーションを開始します。
- 新しいコマンド・プロンプトで、SoccerGame アプリケーションが入っているディレクトリーに移動します。
- 次のコマンドを入力します。
WBRK6_DEFAULT_QUEUE_MANAGER は、デフォルト構成でのブローカーのキュー・マネージャーの名前です。
Team1 は一方のチームの名前、Team2 はもう一方のチームの名前です。
soccerGame Team1 Team2 WBRK6_DEFAULT_QUEUE_MANAGER
チーム名に使用できる文字は、"_"、0 から 9 まで、a から z まで、および A から Z まで
だけです。
「_」という文字は、チーム名の中のスペースを表すために使用してください。
以下に例を示します。
soccerGame Hudford_Harriers Drafton_Dynamos WBRK6_DEFAULT_QUEUE_MANAGER
実行できること
Soccer Results サンプルを実行したなら、パブリッシュ/サブスクライブ・メッセージングのさまざまな機能を実験して
みてください。
- 保存パブリケーションの使用をシミュレートします。
(ブローカーが WebSphere MQ トラステッド・アプリケーションとして操作している場合には、このステップを実行しないでください。トラステッド・アプリケーションのキュー・マネージャーは、SoccerResults アプリケーションが終了する際にサブスクリプション・キュー (SOCCER_SUBSCRIPTION) を解放できないからです。)
:
- 何点かゴールが入った後で、SoccerResults アプリケーションを実行するウィンドウに変更し、Ctrl+C を
押してその処理を早めに終了させます。
- 約 30 秒待機してから、SoccerResults アプリケーションを再始動します。
現行の試合は最後に見たスコアに復元され、そのスコアはアプリケーションが停止していた間に入ったゴールによって更新されます。
SoccerResults アプリケーションの再始動が早すぎてしまう場合には、サブスクライバー・キューが開けなくなってしまう可能性が
あります (エラー・コード 2042 (MQRC_OBJECT_IN_USE))。
キュー・マネージャーがアプリケーションで障害が発生したことに気付かず、障害の発生したアプリケーションによって排他使用されて開かれたキューをリリースできない場合に、こうしたことが生じます。数秒後に、アプリケーションの再始動をもう一度行ってください。
- SoccerGame アプリケーションの別のインスタンスを、別のチーム名を使用して開始します。SoccerGame のインスタンスを同時に 2 つ実行すると、結果サーバーは、その両方の試合の得点を受け取ります。
サンプルのホームに戻る