Java ランタイム・プロパティーの概要
EGL により生成された Java™ プログラムでは、実行時に情報提供を行う一連のプロパティーを使用します。 これらのほとんどの Java ランタイム・プロパティーは、ビルド記述子オプションを使用して設定します。ビルド記述子オプションには、EGL ビルド・パーツ・エディターでビルド記述子パーツを編集することによって値を割り当てます。
- 出力を J2EE 環境にデプロイしている場合、プロパティーは J2EE デプロイメント記述子に保存されます。
- 出力を非 J2EE 環境にデプロイしている場合、プロパティーはプログラム・プロパティー・ファイルに保存されます。
- j2ee ビルド記述子オプションを YES に設定していて、かつ genDirectory ビルド記述子オプションにディレクトリーを指定している場合、Java ランタイム・プロパティーは、J2EE 環境ファイルに保存されます。 また、J2EE 環境ファイルは、j2ee ビルド記述子オプションを YES に設定していて、かつ、genProject ビルド記述子オプションを非 J2EE プロジェクトに設定している場合にも作成されます。
その後に、J2EE デプロイメント記述子または Java プロパティー・ファイルで、ランタイム・プロパティーの値を編集することができるので、再びコードを生成する必要はありません。
EGL が、ビルド記述子オプションを使用してランタイム・プロパティーを作成するようにするには、genProperties ビルド記述子オプションを PROGRAM または GLOBAL に設定する必要があります。
ビルド記述子およびプログラム・プロパティー
- Java ランタイム・プロパティーを J2EE デプロイメント記述子に生成するには、以下の手順に従います。
- j2ee ビルド記述子オプションを YES に設定します。
- genProperties ビルド記述子オプションを PROGRAM または GLOBAL に設定します。
- J2EE プロジェクトにコードを生成します。
- J2EE 環境ファイルにプロパティーを生成するには、以下のステップを実行します。
- j2ee ビルド記述子オプションを YES に設定します。
- genProperties ビルド記述子オプションを PROGRAM または GLOBAL に設定します。
- 以下のいずれか 1 つを行います。
- ディレクトリーの中に生成する。この場合、genProject ビルド記述子オプションではなく、genDirectory ビルド記述子オプションを使用します。
- 非 J2EE プロジェクトの中に生成する。
- 生成されるプログラムと同じ名前を持つプログラム・プロパティー・ファイルを生成するには、以下の手順に従います。
- j2ee ビルド記述子オプションを NO に設定します。
- genProperties ビルド記述子オプションを PROGRAM に設定します。
- 以下のいずれか 1 つを行います。
- ディレクトリーの中に生成する。この場合、genProject ビルド記述子オプションではなく、genDirectory ビルド記述子オプションを使用します。
- 非 J2EE プロジェクトの中に生成する。
- rununit.properties という名前のプログラム・プロパティー・ファイルを生成するには、以下の手順に従います。
- j2ee ビルド記述子オプションを NO に設定します。
- genProperties ビルド記述子オプションを GLOBAL に設定します。
- 以下のいずれか 1 つを行います。
- ディレクトリーの中に生成する。この場合、genProject ビルド記述子オプションではなく、genDirectory ビルド記述子オプションを使用します。
- 非 J2EE プロジェクトの中に生成する。
- プロパティーをまったく生成しない場合は、genProperties を NO に設定します。
J2EE 環境では
- 前のセクションの最初のシナリオのステップに従って、Java ランタイム・プロパティーを直接 J2EE デプロイメント記述子に生成することができます。この場合、EGL は既に存在するプロパティーを上書きし、存在しないプロパティーを追加します。 生成された Java プログラムは実行時に J2EE デプロイメント記述子にアクセスします。
- あるいは、前のセクションの 2 番目のシナリオのステップに従って、ランタイム・プロパティーを J2EE 環境ファイルに生成することもできます。 このファイル内のプロパティーをカスタマイズした後、J2EE デプロイメント記述子にコピーできます。
- また、前のセクションの 5 番目のシナリオに従って、genProperties ビルド記述子オプションを NO に設定し、ランタイム・プロパティーを生成しないようにすることもできます。 この場合は、必要な Java ランタイム・プロパティーを手動で書き込む必要があります。
J2EE モジュールでは、すべてのプログラムが同じランタイム・プロパティーを持ちます。 これは、モジュール内のすべてのコードが同じ J2EE デプロイメント記述子を共用するためです。
<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 環境では
J2EE 環境外で実行される生成済みの Java プログラムを生成する場合、 genProperties ビルド記述子オプションを PROGRAM または GLOBAL に設定して、EGL がプログラム・プロパティー・ファイルにランタイム・プロパティーを生成するか、プログラム・プロパティー・ファイルを手動でコーディングできます。 プログラム・プロパティー・ファイルには、 デプロイメント記述子に使用可能なさまざまな情報が書き込まれていますが、プロパティーの 形式は異なります。
- user.properties
- 次のような名前のファイル。
programName は実行単位内にある最初のプログラムです。programName.properties - rununit.properties
あるユーザーに固有のプロパティーを指定するときは、user.properties を使用する方法が適しています。 EGL は、このファイルの内容を生成しません。
- 呼び出し側プログラムを生成する場合、生成されたプログラム用に名付けられた プログラム・プロパティー・ファイルを生成することができます。 その内容には、データベース関連、またはファイル関連のプロパティーは含まれない場合が あります。
- 呼び出し先プログラムを生成する場合、rununit.properties を生成することができます。 その内容は、両方のプログラムで使用可能です。
これらのプロパティー・ファイルは、いずれも必須のものではなく、 単純なプログラムでは、どのファイルも必要ではありません。
非 J2EE コードのデプロイに関する規則
- ユーザー・プロパティー・ファイル (存在する場合は、user.properties) は、user.home Java システム・プロパティーによって定められたユーザー・ホーム・ディレクトリーの中に置きます。
- プログラム・プロパティー・ファイル (存在する場合) のロケーションは、プログラムがパッケージに入っているかどうかによって異なります。
分かりやすいように、規則の例を次に示します。
- プログラム P がパッケージ x.y.z 内にあり、MyProject/src にデプロイされている場合、プログラム・プロパティー・ファイルは MyProject/src/x/y/z に入っている必要があります。
- プログラム P がパッケージ内にはなく、MyProject/src にデプロイされる場合、プログラム・プロパティー・ファイルは (グローバル・プロパティー・ファイルのように) MyProject/src に入っている必要があります。
いずれの場合でも、MyProject/src がクラスパスに入っている必要があります。
- グローバル・プロパティー・ファイル (存在する場合は rununit.properties) は、 プログラムと一緒に、クラスパスで指定されたディレクトリーに入っている必要があります。
Java プロジェクトへの出力を生成した場合、EGL は (user.properties 以外の) プロパティー・ファイルを適切なフォルダーに配置します。
EGL コード内でランタイム・プロパティーにアクセスする方法の詳細については、 「EGL 言語解説書」内のトピック『getProperty()』および『実行単位』を参照してください。