JRas リソース・バンドルとメッセージ・ファイルの作成

WebSphere® Application Server のメッセージ・ロガーは、ローカライズされたメッセージをユーザーがログに記録できるように、message メソッドおよび msg メソッドを提供しています。 また、メッセージ・ロガーには、ローカライズされないメッセージを記録するための textMessage メソッドも用意されています。 アプリケーションは、必要に応じて、どちらか一方を使用することも、両方を使用することもできます。

始める前に

このタスクおよびサブタスクで説明されている JRas フレームワークは、使用しないでください。 ただし、Java™ ロギングを使用して、同様の結果を得ることができます。

このタスクについて

ローカライズされるメッセージを提供するためのメカニズムが、 IBM® Developer Kit, Java Technology Edition で提供されるリソース・バンドル・サポートです。Developer Kit が実装するリソース・バンドルについて知識がない場合は、 各種のテキストから、あるいは java.util.ResourceBundle、java.util.ListResourceBundle、java.util.PropertyResourceBundle、および java.text.MessageFormat の各クラスの API ドキュメンテーションを参照して、詳細な情報を得ることができます。

PropertyResourceBundle クラスは、優先的に使用されるメカニズムです。 また、JRas 拡張は、{1, date}、{0,number, integer} などの、MessageFormat クラスが提供する拡張フォーマット・オプションはサポートしていないことに注意してください。

WebSphere Application Server の内部ログに書き込まれるメッセージは、他の表示用プロセスに転送することができます。例えば、管理コンソールに表示されるメッセージは、管理コンソールがサーバー・プロセスとは別の場所で稼働している可能性があるので、実行時バインディング・プロセスを使用してローカライズすることができます。 実行時バインディングとは、WebSphere Application Server がログへの記録時にメッセージのローカライズを行わず、メッセージを表示するプロセスまでローカライズを遅らせることを意味します。

メッセージを正しくローカライズするには、表示プロセスに、メッセージ・テキストが保管されるリソース・バンドルに対するアクセス権がなければなりません。 リソース・バンドルはアプリケーションとは別にパッケージ化し、表示プロセスがアクセスできる場所にインストールする必要があります。 以上のようなステップを使用しない場合は、 早期バインディング手法を使用すると、メッセージがログに記録されるときに ローカライズすることができます。

この 2 つの手法は次のように説明されます。
早期バインディング (Early binding)
アプリケーションは、メッセージをログに記録する前に、まずローカライズする必要があります。 アプリケーションは、リソース・バンドル内でローカライズしたテキストを検索し、メッセージをフォーマットします。 フォーマット設定が完了すると、アプリケーションは、textMessage メソッドを使用してメッセージをログに記録します。 アプリケーションを使用してそのリソース・バンドルをパッケージ化する場合は、この手法を使用してください。
実行時バインディング (Late binding)
アプリケーションで、 WebSphere Application Server ランタイムが、その表示プロセスでメッセージを ローカライズできるように選択することができます。 この手法を使用すると、リソース・バンドルが、アプリケーションとは別個に、 スタンドアロンの .jar ファイルにパッケージ化されます。 パッケージ化されたら、そのリソース・バンドルの .jar ファイルを、管理コンソールまたはログ表示プログラムが稼働するインストール済み環境のすべてのマシンにインストールする必要があります。 .jar ファイルは、拡張クラスパスの一部であるディレクトリーにインストールします。 また、ログを IBM サービスに転送する場合は、 リソース・バンドルが入っている .jar ファイルも転送する必要があります。

リソース・バンドルを作成するには、以下のステップを実行します。

手順

  1. メッセージ・キーとそれに対応するメッセージをリストしたテキスト・プロパティー・ファイルを作成します。 プロパティー・ファイルは、次のような特性を持つものでなければなりません。
    • ファイル内の個々のプロパティーの末尾が行終了文字になっています。
    • 空白文字スペースだけ、または最初の非空白文字が番号記号 (#) または感嘆符 (!) である行は、無視されます。 したがって、# および ! は、 ファイルにコメントを入れる場合に使用されます。
    • ファイル内の各行は、コメントでない限り、あるいは空白文字だけで構成されているものでない限り、1 つのプロパティーを表します。円記号 (¥) は、行継続文字として扱われます。
    • プロパティー・ファイルの構文は、キーと分離文字、およびエレメントで構成されます。 有効な分離文字は、等号 (=)、コロン (:)、および空白スペース ( ) です。
    • キーは、行の最初の非空白文字から最初の分離文字までのすべての文字で構成されます。 分離文字は、円記号 (¥) でエスケープすることによって キーに組み込むことができますが、これはお勧めしません。エスケープ文字はエラーを起こしやすく、混乱の元になるためです。 代わりに、そのプロパティー・ファイル内のキーで表示されていない有効な分離文字を使用することをお勧めします。
    • キーおよび分離文字の後の空白は、最初の非空白文字が出てくるまで無視されます。 行終了文字の前にある文字はすべて、エレメントを定義します。

    プロパティー・ファイルの構文と構造の詳細は、Java 資料で java.util.Properties クラスの説明を参照してください。

  2. このファイルを、その言語固有のファイル名を持つローカライズ・バージョンに変換することができます (例えば、DefaultMessages.properties という名前のファイルは、ドイツ語の場合は DefaultMessages_de.properties に、日本語の場合は DefaultMessages_ja.properties に変換できます)。
  3. 変換したリソース・バンドルが使用可能になっている場合は、それをシステム管理の永続ストレージ・メディアに書き込みます。 リソース・バンドルは、メッセージを必要な各国語およびロケールに変換する際に使用されます。
  4. メッセージ・ロガーを JRas マネージャーから取得する場合は、それを、特定のリソース・バンドルを使用するように構成します。 message API によってログに記録されるメッセージは、 メッセージのローカライズが実行されると、このリソース・バンドルを使用します。 実行時には、メッセージ・キーで指定するメッセージを抽出するプロパティー・ファイルを決定し、それによってメッセージが正しい言語で配信されていることを確認するために、ユーザーのロケール設定が使用されます。
  5. メッセージ・ロガーの msg メソッドが呼び出される場合は、リソース・バンドル名を明示的に識別する必要があります。

次のタスク

アプリケーションは、クラスパス内の任意のディレクトリーに相対するファイルのロケーションに基づいて、リソース・バンドルを配置します。 例えば、DefaultMessages.properties プロパティー・リソース・バンドルが baseDir/subDir1/subDir2/resources ディレクトリーにあり、baseDir がクラスパスにある場合、そのリソース・バンドルの識別のためにメッセージ・ロガーに渡される名前は subdir1.subdir2.resources.DefaultMessage になります。

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=ttrb_jrasmkrbs
ファイル名:ttrb_jrasmkrbs.html