Java ランタイム・プロパティー

EGL 生成の Java™ プログラムは、プログラムが使用するデータベースやファイルにアクセスする方法などの情報を提供する一連のランタイム・プロパティーを使用します。

J2EE 環境では

J2EE 環境で実行される生成された Java プログラムに関して、次のような状態が可能となります。
  • EGL は、J2EE デプロイメント記述子内に直接ランタイム・プロパティーを生成できます。この場合、EGL はすでに存在するプロパティーを上書きし、存在しないプロパティーを追加します。プログラムは実行時に J2EE デプロイメント記述子にアクセスします。
  • また、EGL は J2EE 環境ファイル内にランタイム・プロパティーを生成することもできます。このファイル内のプロパティーをカスタマイズした後、J2EE デプロイメント記述子にコピーできます。
  • ランタイム・プロパティーがまったく生成されないようにすることもできます。その場合は、必要なプロパティーを自身で作成する必要があります。

J2EE モジュールでは、すべてのプログラムが同じランタイム・プロパティーを持ちます。これは、モジュール内のすべてのコードが同じデプロイメント記述子を共用するためです。

WebSphere® Application Server では、次のように、プロパティーは env-entry タグとして web.xml ファイル内で指定され、そのファイルが Web プロジェクトへ関連付けられます。
  <env-entry>
		  <env-entry-name>vgj.nls.code</env-entry-name>
    <env-entry-value>ENU</env-entry-value>
    <env-entry-type>java.lang.String</env-entry-type>
  </env-entry>

  <env-entry>
    <env-entry-name>vgj.nls.number.decimal</env-entry-name>
    <env-entry-value>.</env-entry-value>
    <env-entry-type>java.lang.String</env-entry-type>
  </env-entry>

非 J2EE Java 環境では

J2EE 環境以外で実行される生成済みの Java プログラムに関連して、ランタイム・プロパティーをプログラム・プロパティー・ファイル内に生成するか、そのファイルを手作業でコーディングできます。 (プログラム・プロパティー・ファイルには、 デプロイメント記述子に使用可能なさまざまな情報が書き込まれていますが、プロパティーの形式は異なります。)

非 J2EE Java 環境では、プロパティーをいくつかのプロパティー・ファイル内に指定でき、それらのファイルは次の順序で検索されます。
  • user.properties
  • 次のような名前のファイル。
      programName.properties
    programName
    実行単位内にある最初のプログラム
  • rununit.properties

あるユーザーに固有のプロパティーを指定するときは、user.properties を使用するのが適切です。EGL は、このファイルの内容を生成しません。

実行単位の最初のプログラムがファイルまたはデータベースにはアクセスせず、 以下のことを行うプログラムを呼び出す場合は、rununit.properties を使用することが適しています。
  • 発呼者を生成する場合、プログラム用に名付けられたプロパティー・ファイルを生成することができます。その内容には、データベース関連、またはファイル関連のプロパティーは含まれない場合があります。
  • 呼び出し先プログラムを生成する場合、rununit.properties を生成することができます。その内容は、両プログラムで使用可能です。

これらのファイルは、いずれも必須のものではなく、単純なプログラムでは、どのファイルも必要ではありません。

デプロイメント時には、以下の規則が適用されます。
  • ユーザー・プロパティー・ファイル (存在する場合は user.properties) は、Java システム・プロパティー user.home で判別されるユーザー・ホーム・ディレクトリーの中にあります。
  • プログラム・プロパティー・ファイル (存在する場合) のロケーションは、プログラムがパッケージに入っているかどうかによって異なります。分かりやすいように、規則の例を次に示します。
    • プログラム P がパッケージ x.y.z に入っており、MyProject/JavaSource へデプロイされる場合、プログラム・プロパティー・ファイルは MyProject/JavaSource/x/y/z に入っている必要があります。
    • プログラム P がパッケージに入っておらず、myProject/JavaSource へデプロイされる場合、プログラム・プロパティー・ファイルは (グローバル・プロパティー・ファイルのように) MyProject/JavaSource に入っている必要があります。

    いずれの場合でも、MyProject/JavaSource はクラスパスに入っている必要があります。

  • グローバル・プロパティー・ファイル (存在する場合は rununit.properties) は、プログラムと一緒に、クラスパスで指定されたディレクトリーに入っている必要があります。

Java プロジェクトへの出力を生成した場合、EGL は (user.properties 以外の) プロパティー・ファイルを適切なフォルダーに配置します。

古いバージョンの EGL または VisualAge® Generator で生成された Java コードと同じ実行単位内で使用する Java コードを生成する場合、プロパティー・ファイルをデプロイする規則は、実行単位内の最初のプログラムが EGL 6.0 以降で生成されたか (その場合は、ここで述べた規則が適用されます)、最初のプログラムが古いバージョンの EGL または VisualAge Generator でされたか (その場合は、プロパティー・ファイルはクラスパス内の任意のディレクトリーに入れることができ、グローバル・ファイルの名前は vgj.properties です) によって異なります。

最後に、最初のプログラムが古いソフトウェアで生成されている場合は、非グローバル・プログラム・プロパティー・ファイルの代わりに実行単位全体で使用される代替のプロパティー・ファイルを指定できます。詳細については、『Java ランタイム・プロパティー (詳細)』でプロパティー vgj.properties.file の説明を参照してください。

ビルド記述子およびプログラム・プロパティー

選択内容は、ビルド記述子オプション値として EGL へ実行依頼されます。
  • J2EE デプロイメント記述子にプロパティーを生成するには、J2EE を YES に設定し、genProperties を PROGRAM または GLOBAL に設定します。その後、J2EE プロジェクト内に生成します。
  • J2EE 環境ファイルにプロパティーを生成するには、J2EE を YES に設定し、genProperties を PROGRAM または GLOBAL に設定します。その後、次のいずれかを実行します。
    • ディレクトリーの中に生成する (ビルド記述子オプション genProject ではなく genDirectory を使用する場合)。または、
    • 非 J2EE プロジェクトの中に生成する。
  • 生成されたプログラムと同じ名前を持つプログラム・プロパティー・ファイルを生成するには、J2EE を NO に設定し、genProperties を PROGRAM に設定します。その後、J2EE プロジェクト以外のプロジェクト内に生成します。
  • プログラム・プロパティー・ファイル rununit.properties を生成するには、J2EE を NO に設定し、genProperties を GLOBAL に設定します。その後、J2EE 以外のプロジェクト内に生成します。
  • プロパティーをまったく生成しない場合は、genProperties を NO に設定します。

追加情報について

プロパティーをデプロイメント記述子または J2EE 環境ファイルに生成する方法の詳細については、『デプロイメント記述子値の設定』を参照してください。

ランタイム・プロパティーの意味の詳細については、『Java ランタイム・プロパティー (詳細)』を参照してください。

EGL コード内でランタイム・プロパティーにアクセスする方法の詳細については、『sysLib.getProperty』を参照してください。

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
(C) Copyright IBM Japan 2005.