ログ・リソース・バンドルおよびメッセージ・ファイルの作成

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

このタスクについて

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

PropertyResourceBundle クラスは、優先的に使用されるメカニズムです。

メッセージを正しくローカライズするには、表示プロセスに、メッセージ・テキストが保管されるリソース・バンドルに対するアクセス権がなければなりません。 リソース・バンドルはアプリケーションとは別にパッケージ化し、表示プロセスがアクセスできる場所にインストールする必要があります。

デフォルトでは、WebSphere Application Server ランタイムは、ログに記録されるときに、 すべてのメッセージをローカライズします。 このローカライズにより、異なるロケーションでローカライズする必要がない限り、 .jar ファイルをアプリケーションに渡す必要がなくなります。 ただし、早期バインディング手法を使用すると、メッセージがログに記録されるときにローカライズすることができます。 早期バインディングを使用するアプリケーションは、 メッセージをログに記録する前に、まずローカライズする必要があります。 アプリケーションは、リソース・バンドル内でローカライズしたテキストを検索し、メッセージをフォーマットします。 早期バインディング手法を使用して、 アプリケーションとともにそのリソース・バンドルをパッケージしてください。

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

手順

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

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

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

リソース・バンドルを作成するには、いくつかの方法があります。 最も簡単かつ優れた方法は、プロパティー・リソース・バンドルをサポートするプロパティー・ファイルを作成することです。 この例では、そのようなプロパティー・ファイルの作成方法を示します。

このサンプルには、4 つのローカライズ可能なメッセージがあります。 プロパティー・ファイルが作成され、キーと値のペアが挿入されます。 通常のプロパティー・ファイルの規則はすべて、このファイルに適用されます。 さらに、作成者は、Java MessageFormat クラスの値に関するその他の制約事項にも注意する必要があります。 例えば、アポストロフィはエスケープする必要があり、これを使用すると、問題が発生します。 移植できない文字は使用しないようにしてください。 WebSphere Application Server は、{1, date} や {0,number, integer} などの、MessageFormat クラスがサポートする拡張フォーマット規則の使用をサポートしていません。

このリソース・バンドルを使用するアプリケーションの 基本ディレクトリーが baseDir で、このディレクトリーはクラスパスにあるとします。 プロパティー・ファイル は、クラスパスには存在しないサブディレクトリー baseDir (baseDir/subDir1/subDir2/resources) に保管されるとします。 メッセージ・ファイルが解決できるようにするためには、subDir1.subDir2.resources.DefaultMessage の名前を使用して、プロパティー・リソース・バンドルを識別し、メッセージ・ロガーへ渡します。

このサンプルでは、 プロパティー・ファイルは DefaultMessages.properties という名前になります。

 # Contents of the DefaultMessages.properties file
MSG_KEY_00=A message with no substitution parameters.
MSG_KEY_01=A message with one substitution parameter: parm1={0}
MSG_KEY_02=A message with two substitution parameters: parm1={0}, parm2 = {1}
MSG_KEY_03=A message with three parameter: parm1={0}, parm2 = {1}, parm3={2}

DefaultMessages.properties ファイルを作成したら、 このファイルをローカライズ・バージョンが生成される変換センターへ送信できます。

次のタスク

アプリケーションは、クラスパス内の任意のディレクトリーに相対するファイルのロケーションに基づいて、リソース・バンドルを配置します。 例えば、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_logresourcebun
ファイル名:ttrb_logresourcebun.html