Sun Java System Message Queue 3 2005Q1 管理ガイド |
第 2 章
管理のクイックスタートこのクイックスタートでは、Message Queue のブローカとオブジェクトストアを管理するグラフィカルインタフェースである管理コンソールを使用した、基本的な管理タスクを中心に説明します。この章の手順では、次の作業を実行する方法を説明します。
このクイックスタートでは、簡単な JMS 互換アプリケーションである HelloWorldMessageJNDI の実行に必要な物理的送信先と管理対象オブジェクトを設定します。このアプリケーションは、アプリケーションディレクトリ例 (Solaris と Windows プラットフォームの場合は demo、Linux の場合は examples、付録 A 「オペレーティングシステムごとの Message Queue データの場所」を参照) の helloworld サブディレクトリから利用できます。クイックスタートの最後の部分では、このアプリケーションを実行します。
このクイックスタートでは、主に管理コンソールを使用して、基本的な管理タスクを実行します。クイックスタートとは別に、マニュアルには目を通し、参照するようにしてください。
一部の Message Queue 管理タスクは、管理コンソールを使用して実行できません。次のようなタスクの実行には、コマンド行ユーティリティを使用します。
上記のタスクを実行する方法の詳細は、第 6 章「物理的送信先の管理」、第 9 章「ブローカクラスタを使用した作業」および第 7 章「セキュリティの管理」を参照してください。
準備開始する前に、Message Queue 製品をインストールする必要があります。詳細は、『Message Queue インストールガイド』を参照してください。この章は Windows を基準にしており、UNIXTM ユーザーへの注意点が追加される形で解説されているので注意してください。
この章では、「アイテム 1」 > 「アイテム 2」 > 「アイテム 3」と表記されている場合、「アイテム 1」というメニューをプルダウンし、メニューから「アイテム 2」を選択した後、「アイテム 2」で提供される選択肢から「アイテム 3」を選択することを意味します。
管理コンソールを起動する管理コンソールを起動するには、次の方法のいずれかを使用します。
コンソールのウィンドウが表示されるまで、数秒かかることがあります。
コンソールのウィンドウの確認に数秒かかります。
コンソールは、一番上にメニューバー、メニューバーのすぐ下にツールバー、左側にナビゲーションのペイン、右側に結果を表すペイン (この図では Sun Java SystemMessage Queue 製品を表すグラフィックが表示されている)、および一番下に状態のペインという構成になっています。
この章には完全な情報が記載されているわけではないので、まず管理コンソールに関するヘルプ情報の使い方を理解しておきましょう。
ヘルプを利用する
ヘルプメニューは、メニューバーの一番右にあります。
管理コンソールのヘルプ情報を表示する
- ヘルプメニューをプルダウンして、「Overview (概要)」を選択します。ヘルプウィンドウが表示されます。
ヘルプ情報の構成を確認します。左のナビゲーションペインには目次が表示され、右の結果ペインにはナビゲーションペインで選択したアイテムの内容が表示されます。
ヘルプウィンドウの結果ペインを確認します。これは管理コンソールの構成図で、コンソールの各ペインの使用方法を表しています。
- ヘルプウィンドウのナビゲーションペインを見ます。トピックが、概要、オブジェクトストアの管理、ブローカの管理の 3 つの分野に分類されています。それぞれの領域に、ファイルやフォルダがあります。各フォルダには、複数タブのついたダイアログボックスのヘルプがあり、各ファイルはダイアログボックス、またはタブの簡単なヘルプです。
最初に行うコンソールの管理タスクは、「ブローカの追加」に示すように、コンソールを使用して管理するブローカへの参照を作成することです。ただし、開始する前に、オンラインヘルプの情報を確認します。
- ヘルプウィンドウのナビゲーションペインにある、「Add Broker (ブローカを追加)」アイテムをクリックします。
結果ペインが変更されています。ここには、ブローカを追加するとはどういうことかを説明するテキストと、「Add Broker (ブローカを追加)」ダイアログボックスにある各フィールドの使用方法が表示されます。フィールド名は、太字で表示されます。
- ヘルプテキストを読みます。
- ヘルプウィンドウを閉じます。
ブローカの起動管理コンソールを使用してブローカを起動することはできません。代わりに次の方法のいずれかを使用します。
Windows の「スタート」メニューを使用している場合、コマンドウィンドウが表示されます。コマンドの応答が表示され、次のような行を表示してブローカが使用できること示します。
管理コンソールのウィンドウに戻ります。これで Console にブローカを追加し、接続する準備ができました。
管理コンソールでブローカへの参照を追加する前に、ブローカを起動する必要はありませんが、接続する前にはブローカを起動する必要があります。
ブローカの追加ブローカを追加すると、そのブローカへの参照が管理コンソール内に作成されます。ブローカを追加したあと、そのブローカへ接続できます。
管理コンソールにブローカを追加する
- ナビゲーションペインの「Brokers (ブローカ)」をクリックし、「Add Broker (ブローカを追加)」を選択します。
- 「Broker Label (ブローカのラベル)」フィールドに MyBroker と入力します。
これにより、管理コンソールでブローカを識別するラベルが作成されます。
ダイアログボックスで指定されたデフォルトのホスト名 (localhost) と、プライマリポート (7676) を控えておきます。これらの値はあとで、クライアントがこのブローカへのコネクションを設定するのに必要なコネクションファクトリを設定するときに、この値を指定する必要があります。
「Password (パスワード)」フィールドは空欄のままにしておきます。パスワードは、コネクションを実行するときに指定したほうがより安全です。
- 「OK」をクリックして、ブローカを追加します。
ナビゲーションペインを見ます。追加したブローカが、「Brokers (ブローカ)」の下に一覧表示されています。ブローカアイコンの上についている赤い×印は、そのブローカが現在コンソールに接続されていないことを表しています。
- 「MyBroker」を右クリックし、ポップアップメニューから「Properties (プロパティ)」を選択します。
ブローカのプロパティダイアログボックスが表示されます。このダイアログボックスを使用して、ブローカの追加時に指定したプロパティを更新できます。
- 「Cancel (取消し)」をクリックしてダイアログを閉じます。
ブローカに接続するブローカに接続する
- 「MyBroker」を右クリックし、「Connect to Broker」を選択します。
ダイアログボックスが表示され、ユーザー名とパスワードの入力が要求されます。
デフォルトでは、管理コンソールは admin というパスワードを持つ admin というユーザーとしてブローカに接続できます。この演習では、デフォルトの値を使用します。実際の環境では、できるだけ早く安全なユーザー名とパスワードを設定する必要があります。詳細は「ユーザーの認証」を参照してください。
- 「Password (パスワード)」フィールドに、admin と入力します。
ユーザー名の admin を指定し、正しいパスワードを入力すると、管理者権限でブローカに接続します。
- 「OK」をクリックして、ブローカに接続します。
ブローカに接続後、「Actions (アクション)」メニューを選択すると、ブローカに関する情報の入手、ブローカの停止、再開、シャットダウン、再起動、およびブローカからの切断を実行できます。
コネクションサービスを表示する
ブローカは、提供するコネクションサービスと、サポートする物理的送信先とで識別されます。
利用可能なコネクションサービスを表示する
- ナビゲーションペインで「Services (サービス)」を選択します。
結果ペインに利用可能なサービスが一覧表示されます。各サービスに対して、名前、ポート番号、状態が表示されます。
- 結果ペインにある jms サービスをクリックして選択します。
- 「Actions (アクション)」メニューをプルダウンして、強調表示されているアイテムを確認します。
jms サービスを停止したり、プロパティを表示、更新したりするオプションがあります。
- 「Actions (アクション)」メニューから「Properties (プロパティ)」を選択します。
「Service Properties (サービスプロパティ)」ダイアログを使用して、サービスに静的なポート番号を割り当て、このサービスに割り当てられるスレッドの最小数および最大数を変更できます。
- 「OK」をクリックするか、あるいは「Cancel (取消し)」をクリックして、「Service Properties (サービスのプロパティ)」ダイアログボックスを閉じます。
- 結果ペインで admin サービスを選択します。
- 「Actions (アクション)」メニューをプルダウンします。
このサービスを停止することはできませんので注意してください (停止アイテムは無効)。admin サービスとは、ブローカへの管理者のリンクです。これを停止すると、ブローカに接続できなくなります。
- 「Actions (アクション)」 > 「Properties (プロパティ)」の順に選択し、admin サービスのプロパティを表示します。
- 完了したら、「OK」または「Cancel (取消し)」をクリックします。
ブローカに物理的送信先を追加する
デフォルトでは、ブローカに対して物理的送信先の自動作成が有効になっています。自動作成により、ブローカは物理的送信先を動的に作成できます。
開発環境では、クライアントコードをテストするために物理的送信先を明示的に作成する必要はありません。
運用時の設定では、物理的送信先を明示的に作成することをお勧めします。そうすることにより、管理者は、ブローカが使用している物理的送信先を十分に認識できます。
次に、ブローカに物理的送信先を追加します。送信先に割り当てた名前を控えておきます。あとでこの物理的送信先に対応する、管理対象オブジェクトを作成するときに必要となります。
ブローカにキュー送信先を追加する
物理的送信先を管理する
ブローカに物理的送信先を追加すると、以下の手順に従い、次のタスクを実行できるようになります。
物理的送信先のプロパティを表示する
- 「MyBroker」の「Destination (送信先)」を選択します。
結果パネルに 2 つの物理的送信先、MyQueueDest と mq.sys.dmq が表示されます。送信先 mq.sys.dmq は、ブローカの有効期限の切れたメッセージと拒否されたメッセージを格納する、システムで作成されたキューです。現在のところ、このデッドメッセージキューは無視してください。
- 結果ペインで、「MyQueueDest」を選択します。
- 「Actions (アクション)」 > 「Properties (プロパティ)」の順に選択します。
次のダイアログボックスが表示されます。
ダイアログボックスには、キューに関する現在の状態情報と変更可能な一部のプロパティが表示されている点に注意してください。
- 「Cancel (取消し)」をクリックしてダイアログボックスを閉じます。
物理的送信先からメッセージをパージする
メッセージをパージすると、メッセージが削除されたあとに空の送信先が残ります。
送信先を削除する
物理的送信先の削除を行うと、その送信先にあるメッセージがパージされたあと、送信先も削除されます。
トピック情報を入手する
ブローカのトピック送信先プロパティのダイアログボックスには、永続サブスクリプションに関する情報を一覧表示する追加タブがあります。このタブは、キューの場合は無効です。
このダイアログボックスを使用して、次のことを実行できます。
オブジェクトストアを操作するオブジェクトストアは、Message Queue の管理対象オブジェクトの格納に使用されます。この管理対象オブジェクトは、Message Queue 固有の実装と、クライアントアプリケーションで使用されるオブジェクトに関する設定情報をカプセル化します。オブジェクトストアは、LDAP ディレクトリサーバーかファイルシステムストア (ファイルシステムのディレクトリ) のいずれかになります。
管理対象オブジェクトは、クライアントコード内でインスタンス化し、設定できます。ただし、これらのオブジェクトは、JNDI を使用してクライアントアプリケーションからアクセスされるオブジェクトストアで、管理者が作成、設定、保存する方がよいでしょう。これにより、クライアントコードはプロバイダに依存しなくなります。
管理コンソールを使用して、オブジェクトストアを作成することはできません。まず、次の節で説明する操作を行う必要があります。
オブジェクトストアを追加する
オブジェクトストアを追加すると、管理コンソールにある既存のオブジェクトストアへの参照が作成されます。この参照は、コンソールを終了して、再起動しても保持されます。
ファイルシステムオブジェクトストアを追加する
- C ドライブに Temp という名前のフォルダが存在しない場合は、ここで作成します。
この章で使用するサンプルアプリケーションでは、オブジェクトストアが C ドライブの Temp というフォルダにあることが前提になっています。一般には、ファイルシステムオブジェクトストアは、任意のドライブの任意のディレクトリに置くことができます。
Windows 以外 : 既存の /tmp ディレクトリを使用します。
- 「Object Stores (オブジェクトストア)」で右クリックし、「Add Object Store (オブジェクトストアを追加)」を選択します。
次のダイアログボックスが表示されます。
- 「ObjectStoreLabel (オブジェクトストアのラベル)」フィールドに「MyObjectStore」と入力します。
ここでは、管理コンソールにあるオブジェクトの表示用のラベルが設定されるだけです。
次の手順では、JNDI の名前と値の組み合わせを入力する必要があります。これらの組み合わせは、JMS 準拠のアプリケーションが管理対象オブジェクトを検索するときに使用されます。
- 「Name (名前)」ドロップダウンリストから、java.naming.factory.initial を選択します。
このプロパティで、どの JNDI サービスプロバイダを使用するかを指定できます。たとえば、ファイルシステムサービスプロバイダ、または LDAP サービスプロバイダです。
- 「Value (値)」フィールドに、次のように入力します。
com.sun.jndi.fscontext.RefFSContextFactory
つまり、ファイルシステムストアが使用されます。LDAP ストアの場合は、com.sun.jndi.ldap.LdapCtxFactory を指定します。
本稼動環境では、オブジェクトストアとして LDAP ディレクトリサービスを使用する場合があります。サーバーの設定と JNDI 検索については、「LDAP サーバーオブジェクトストア」を参照してください。
- 「Add (追加)」ボタンをクリックします。
プロパティの要約ペインにプロパティとその値が一覧表示されます。
- 「Name (名前)」ドロップダウンリストから、java.naming.provider.url を選択します。
このプロパティで、オブジェクトストアの正確な場所を指定できます。ファイルシステムのオブジェクトストアでは、これが既存のディレクトリ名になります。
- 「Value (値)」フィールドに、次のように入力します。
file:///C:/Temp
(Solaris と Linux 上では、file:///tmp )
- 「Add (追加)」ボタンをクリックします。
プロパティの要約ペインにプロパティとその値がともに一覧表示されます。LDAP サーバーを使用している場合、認証情報も指定する必要があります。ファイルシステムストアでは、認証情報の指定は必要ありません。
- 「OK」をクリックして、オブジェクトストアを追加します。
- MyObjectStore ノードがナビゲーションペインで選択されていない場合は、ここで選択します。
管理コンソールは次のように見えます。
オブジェクトストアはナビゲーションペインに一覧表示され、その内容である送信先とコネクションファクトリは結果ペインに一覧表示されます。まだ管理対象オブジェクトをオブジェクトストアに追加していないため、結果ペインの「Count (カウント)」カラムに表示されます。
ナビゲーションペインにあるオブジェクトストアのアイコンには、X がついています。これは、まだ接続されていないことを表します。オブジェクトストアを使用する前に、接続する必要があります。
オブジェクトストアプロパティを確認する
管理コンソールがオブジェクトストアから切断されている間は、オブジェクトストアのプロパティの一部を確認および変更できます。
オブジェクトストアのプロパティを表示する
オブジェクトストアに接続する
オブジェクトストアにオブジェクトを追加する前に、まずオブジェクトストアに接続する必要があります。
オブジェクトストアに接続する
コネクションファクトリ管理対象オブジェクトを追加する
管理コンソールを使用して、コネクションファクトリを作成および設定できます。コネクションファクトリは、クライアントコードがブローカに接続するときに使用されます。コネクションファクトリを設定すると、作成するときに使用されるコネクションの動作を制御できます。
コネクションファクトリの設定については、オンラインヘルプと『Message Queue Developer's Guide for Java Clients』を参照してください。
注
管理コンソールは、Message Queue 管理対象オブジェクトだけを一覧表示します。オブジェクトストアに、追加したい管理対象オブジェクトと同じ検索名の Message Queue 以外のオブジェクトが含まれている場合は、追加操作を実行するとエラーが表示されます。
コネクションファクトリをオブジェクトストアに追加する
- まだ接続されていない場合は、MyObjectStore に接続します (「オブジェクトストアに接続する」を参照)。
- 「Connection Factories (コネクションファクトリ)」ノードを右クリックし、「Add Connection Factory Object (コネクションファクトリオブジェクトを追加)」を選択します。
「Add Connection Factory Object (コネクションファクトリオブジェクトを追加)」ダイアログボックスが表示されます。
- 「Lookup Name (検索名)」フィールドに「MyQueueConnectionFactory」という名前を入力します。
この名前は、次のコマンド行のように HelloWorldMessageJNDI.java からコネクションファクトリを検索するときにクライアントコードが使用する名前です。
qcf=(javax.jms.QueueConnectionFactory)
ctx.lookup("MyQueueConnectionFactory")- プルダウンメニューから「QueueConnectionFactory」を選択し、コネクションファクトリのタイプを指定します。
- 「コネクションの処理」タブをクリックします。
- 「Message Server Address List (メッセージサーバーアドレスリスト)」フィールドには、通常、クライアントの接続先となるブローカのアドレスを入力します。このフィールドの例を次に示します。
mq://localhost:7676/jms
デフォルトでは、コネクションファクトリは、ポート 7676 の localhost で実行しているブローカに接続するように設定されているため、値を入力する必要はありません。クイックスタートの例でも、このデフォルト設定を前提にしています。
- このダイアログボックスのタブをクリックして、コネクションファクトリの設定可能な情報の種類を確認します。「Add Connection Factory Object (コネクションファクトリオブジェクトを追加)」ダイアログボックスの右側下部にある「Help (ヘルプ)」ボタンを使用して、それぞれのタブの情報を確認します。ここでは、デフォルト値を変更しないでください。
- 「OK」をクリックして、キューコネクションファクトリを作成します。
- 結果ペインを確認します。新規作成されたコネクションファクトリの検索名と検索タイプが一覧表示されています。
送信先オブジェクトの追加送信先管理対象オブジェクトは、ブローカの物理的送信先に関連付けられ、これらの送信先を指します。送信先管理対象オブジェクトにより、クライアントはプロバイダ固有の送信先名と設定とは関係なく、物理的送信先を検索できます。
クライアントはメッセージを送信するときに、送信先管理対象オブジェクトを検索またはインスタンス化し、JMS API の send() メソッドの送信先管理対象オブジェクトを参照します。ブローカは、その管理対象オブジェクトに関連する物理的送信先へのメッセージの配信に責任を持ちます。
クイックスタートの次の部分では、これまでに追加した物理的送信先に対応する管理対象オブジェクトを追加します。
送信先をオブジェクトストアに追加する
- ナビゲーションペインの「MyObjectStore」ノードの下にある「Destinations (送信先)」ノードを右クリックします。
- 「Add Destination Object (送信先オブジェクトを追加)」を選択します。
管理コンソールにより、オブジェクトに関する情報を指定する「Add Destination Object (送信先オブジェクトを追加)」ダイアログボックスが表示されます。
- 「Lookup Name (検索名)」フィールドに MyQueue と入力します。
検索名は、JNDI 検索呼び出しを使用しているオブジェクトを検索するのに使用されます。サンプルアプリケーションでは、呼び出しは次のとおりです。
queue=(javax.jms.Queue)ctx.lookup("MyQueue");
- 「Destination Type (送信先タイプ)」の「Queue (キュー)」ラジオボタンを選択します。
- 「Destination Name (送信先名)」フィールドに MyQueueDest と入力します。
この名前は、ブローカに物理的送信先を追加したときに指定した名前です (「ブローカに物理的送信先を追加する」を参照)。
- 「OK」をクリックします。
- ナビゲーションペインの「Destinations (送信先)」を選択し、追加したキュー管理対象オブジェクトに関する情報がどのように結果のペインに表示されているかを確認します。
管理対象オブジェクトのプロパティの表示管理対象オブジェクトのプロパティを表示または更新するには、ナビゲーションペインにある「Destinations (送信先)」または「Connection Factories (コネクションファクトリ)」を選択し、結果ペインで特定のオブジェクトを選択してから、「Actions (アクション)」 > 「Properties (プロパティ)」の順に選択します。
送信先オブジェクトのプロパティを表示または更新する
コンソール情報を更新するオブジェクトストアを操作している場合も、ブローカを操作している場合も、「View (表示)」 > 「Refresh (更新)」の順に選択すると、あらゆる要素または要素グループの視覚的表示を更新できます。
サンプルアプリケーションを実行するこのクイックスタートでは、サンプルアプリケーション HelloWorldMessageJNDI が提供されます。このアプリケーションは、作成した物理的送信先と管理対象オブジェクトを使用します。
コードでは 1 つの送信者と受信者が作成され、「Hello World」メッセージが送受信されます。
HelloWorldMessageJNDI アプリケーションを実行する
- HelloWorldmessageJNDI アプリケーションを含むディレクトリを現在のディレクトリにします。たとえば、次のように指定します。
cd IMQ_HOMEdemohelloworld¥helloworldmessagejndi (Windows の場合)
cd /usr/demo/imq/helloworld/helloworldmessagejndi (Solaris の場合)
cd /opt/sun/mq/examples/helloworld/helloworldmessagejndi (Linux の場合)
HelloWorldMessageJNDI.class ファイルが存在していることを確認します。アプリケーションに変更を加える場合は、『Message Queue Developer's Guide for C Clients』のクイックスタートチュートリアルに記載されたクライアントアプリケーションのコンパイルに関する指示に従って、アプリケーションを再コンパイルする必要があります。CLASSPATH 変数に HelloWorldMessageJNDI.class ファイルと Message Queue 製品に組み込まれた jms.jar、imq.jar、および fscontext.jar といった jar ファイルを含む現在のディレクトリを追加します。CLASSPATH の設定方法については、『Message Queue Developer's Guide for Java Clients』を参照してください。
JNDI jar ファイル (jndi.jar) は JDK 1.4 にバンドルされています。この JDK を使用している場合は、jndi.jar を CLASSPATH 設定値に追加する必要はありません。それ以前のバージョンの JDK を使用している場合は、jndi.jar を CLASSPATH に含める必要があります。詳細は、『Message Queue Developer's Guide for Java Clients』を参照してください。
- アプリケーションを実行する前に、ソースファイルの HelloWorldMessageJNDI.java を開き、ソース全体に目を通してください。このファイルには短いながら詳細な説明が用意されており、作成した管理対象オブジェクトや送信先を使用する方法が明確に理解できます。
- 次のコマンドのどちらかを実行して、HelloWorldMessageJNDI アプリケーションを稼働します。
java HelloWorldMessageJNDI (Windows の場合)
% java HelloWorldMessageJNDI file:///tmp (Solaris と Linux の場合)
アプリケーションが問題なく実行されると、次の出力があります。