JRun プロパティのカスタマイズ

JRun プロパティ ファイルの設定は、OEM リソースに付属の PropertyScript
ユーティリティを使用して、変更、追加、および削除できます。PropertyScript では、JRun プロパティ ファイルを変更するディレクティブが含まれている独立したスクリプト ファイルが処理されます。JRun プロパティ ファイルの詳細は、『JRun セットアップ ガイド』を参照してください。

PropertyScript の使用

PropertyScript クラスは、install.jar ファイル内の allaire.jrun.install パッケージの一部です。次に例を示します。

java -cp [classpath] allaire.jrun.install.PropertyScript script-file 
[property-file] 

PropertyScript を使用するには、クラスパスに install.jar を含める必要があります。

script-file オプションは、ディレクティブが含まれているスクリプト ファイルを指すファイル システム パスです。スクリプト ファイルの作成方法については、"スクリプト ファイルの作成"を参照してください。

property-file オプションでは、global.properties、local.properties、jvms.properties などの JRun プロパティ ファイルを指定します。このオプションは現在のリリースの JRun で推奨されていないため、必要ありません。

次に例を示します。

C:¥>java -cp "c:¥program files¥allaire¥jrun¥lib¥install.jar"    
  allaire.jrun.install.PropertyScript 
  "c:¥program files¥allaire¥jrun¥servers¥default¥script.txt" 

スクリプト ファイルの作成

script-file オプションでは、JRun プロパティ ファイルの変更時に PropertyScript によって使用されるすべてのディレクティブが含まれるテキスト ファイルを指定します。スクリプト ファイルの作成時には、少なくとも 1 つの file コマンドと filename を含める必要があります。各 file コマンドの下には、前に示してある filename に対して実行するディレクティブおよびオプションを列挙します。

スクリプト ファイルの構文は、次のようになります。

file filename
directive1
[directive2]
...
[file filename]
[directive1]
[directive2]
...

スクリプト ファイル内のプロパティ ファイルのセクションごとに、新しい file コマンドを指定する必要があります。filename (ファイル名) には、プロパティ ファイルへの完全なパスを指定する必要があります。

通常、スクリプト ファイル内の各ディレクティブは、1 つのコマンドおよび 1 組のキーと値から成り立っています。キーは、JRun プロパティ ファイル内のプロパティに対応します。次の例では、add がコマンド、control.endpoint.main.port がキー、53000 が値です。

add control.endpoint.main.port=53000 

一部のキーには複数の値を指定できます。この場合、値はスペースまたはカンマで区切られます。

次の表では、スクリプト ファイルのディレクティブおよびそのオプションについて説明します。
ディレクティブ
説明
add キー 値
新しいキーと値を、プロパティ ファイルの最後に追加します。既存のキーを追加すると、該当するキーと値が PropertyScript によって上書きされます。
replace キー 値
指定したキーの値を新しい値に置き換えます。存在
しないキーの値を置き換えようとすると、このディレクティブは PropertyScript によって add として処理されます。
delete キー
指定したキーとその値を削除します。
clear キー
指定したキーのすべての値を削除しますが、キーは
削除しません。
append キー 値
指定したキーの最後の値の後に、値を追加します。
値の先頭には、区切り文字 (通常はカンマ) を指定する必要があります。
たとえば、jcpservlet.services キーに追加する場合は、次のディレクティブを使用します。
append servlet.services ,jcp 
一部のキーはカンマでなくスペースによって区切られます。この場合は append_space ディレクティブを使用します。
append_space キー 値
指定したキーの最後の値の後にスペースを入れてから、値を追加します。スペースを区切り文字として使用する java.args キーを変更する場合に使用します。
token_remove キー 値
キーの中から指定した値を検索し、その値および後に
続く区切り文字 (スペースまたはカンマ) を削除します。
ejb_append jrun.services 値
global.properties ファイル内の jrun.services キーを変更する場合にのみ使用します。servlet_services は
ほかのすべてのサービスが開始してから開始する必要があるので、このメソッドを使用して
{servlet_services} キーを一覧の最後に表示します。
unplug [servlet|ejb] 
サーブレットまたは EJB のいずれかの機能を JRun から削除します。ユーザがコンポーネントを追加および削除できるようにする場合に使用します。また、インストール ファイルを編集して、不要なコンポーネントがインストールされないようにすることもできます。
unplug によってコンポーネントが無効になりますが、実際にはアンインストールされません。
comment キー #テキスト文字列
テキスト文字列で構成されるコメント行を、指定したキーの上の行に追加します。テキスト文字列の前に必ず # を入れてください。
adduser ユーザ名 パスワード
新規 JMC ユーザを追加します。PropertyScript では、UnixCrypt を使用してパスワードが暗号化されます。pass.properties ファイルを変更する場合にのみ使用します。新規 Web アプリケーション ユーザを追加する場合は、『JRun によるアプリケーションの開発』の PropertyFileAuthentication クラスの説明を参照してください。
port キー 最小値,最大値
インストール時に JRun で設定される、admin サーバのアクセス可能ポート範囲を設定します。最小値は最小のポート番号、最大値は最大のポート番号です。
PropertyScript では、この範囲内にあるすべてのポートが試行されます。
ポート ディレクティブは、JRun サーバの
local.properties ファイルごとに指定します。
admin サーバの既定範囲は 8000 〜 8099 です。default サーバの既定範囲は 8100 〜 8199 です。

サンプル スクリプト ファイル

次のスクリプト ファイルの例は、default JRun サーバの local.properties ファイルに対して、新しい Web アプリケーション "MyStocks" を追加し、demo-app を削除する方法を示します。最後の行は、default JRun サーバの JRun Web サーバのポートを、8080 〜 8089 の範囲で使用可能なポートに変更します。

file c:¥Progra1¥Allaire¥JRun¥servers¥default¥local.properties
add webapp.mapping./mystocks /mystocks                  
add /mystocks.rootdir C:¥Mycompany¥servers¥default¥mystocks
add /mystocks.class {webapp.service-class}
token_remove servlet.webapps demo-app
append servlet.webapps ,/mystocks
comment servlet.webapps #Added mystocks app, removed demo
delete demo-app.rootdir
delete demo-app.class
delete webapp.mapping./demo
port web.endpoint.main.port 8080,8089

サーブレット/JSP での PropertyScript の使用

PropertyScript クラスの main() メソッドを使用して、サーブレットまたはその他の種類の Java アプリケーション内からプログラムで JRun プロパティ ファイルを変更できます。このメソッドは 1 つの引数 script_file を取ります。script_file は、PropertyScript を実行するディレクティブを含むテキスト ファイルの場所です。main() メソッドには文字列の配列が必要であるため、1 つの要素 (script_file) を持つ配列を渡します。

main() の構文は次のとおりです。

main(String script_file)

PropertyScript を呼び出すには、install パッケージを含める必要があります。次に例を示します。

import allaire.jrun.install.*;

PropertyScript の使用例

次の Java アプリケーション (PSTest.java) は、PropertyScript の使用例を示しています。これにより、次の行が local.properties の最後に追加されます。

frogprop=frogvalue

propt.txt スクリプト ファイルには次の行が含まれています。

file c:¥Progra~1¥Allaire¥JRun¥servers¥default¥local.properties
add frogprop frogvalue

PSTest.java ファイルには次のコードが含まれています。

import allaire.jrun.install.*;
import java.io.*;
class PSTest {
  public static void main (String args[]) {
    String result = new String();
    result = PSTest.RunPS();
    System.out.println(result);
  }
  private static String RunPS() {
    String[] sFile = new String[1];
    sFile[0] = "c:\\temp3\\propt.txt";
    String result = new String();
    PropertyScript ps = new PropertyScript();
    try {
      ps.main(sFile);
      result = "successful";
    }
    catch (IOException ioe) {
      result = "unsuccessful";
    }
    return result;
  }
}