JRun サーバの追加と削除

JRun をインストールすると、admin と default の 2 つの JRun サーバがインストールされて起動されます。

JRun で提供されている Server クラスを使用すると、JRun サーバの追加と削除を行ったり、JRun サーバが存在するかどうかをプログラムまたはコマンド ラインからテストできます。サーバ設定を最大限に制御するために、このセクションの指示に従って JRun サーバの追加と削除を手作業で行うこともできます。

JRun には、JMC の [新規サーバの構成] パネルに独自のフィールドを追加する機能もあります。

このセクションでは、次の項目について説明します。

新規 JRun サーバについて

コマンド ラインまたは JMC を使用して新規 JRun サーバの既定のインストールを実行すると、その新規 JRun サーバの概要を示す local.properties ファイルが作成されます。このファイルには次のプロパティが含まれています。

新規サーバを Enterprise サーバに指定した場合、local.properties ファイルには次のプロパティも含まれます。

プログラムによる JRun サーバの追加と削除

このセクションでは、allaire.jrun.tools パッケージ内の Server クラスを使用して JRun サーバの追加と削除を行う方法について説明します。コマンド ラインから Server クラスを使用したり、Java アプリケーション内からそのパブリック メソッドを呼び出すことができます。

Server ユーティリティを呼び出すには、クラスパスに JRun のルート ディレクトリ
/lib/jrun.jar を含める必要があります。

Server クラスを使用して JRun サーバを追加すると、次の作業が実行されます。

新規 JRun サーバを使用するには、そのサーバ上で Web アプリケーションを作成する必要があります。詳細は、『JRun セットアップ ガイド』を参照してください。

コマンド ラインからの Server クラスの使用

コマンド ラインから Server ユーティリティを使用するには、次のコマンドを入力します。

% java [-classpath classpath] allaire.jrun.tools.Server
  [add|remove|exists] server [local.properties enterprise]
  jrun-home

次に例を示します。

% java -classpath c:¥jrun¥lib¥jrun.jar allaire.jrun.tools.Server add
  |new_server c:¥jrun¥
add

新規 JRun サーバを追加します。必要に応じて新規 local.properties ファイルの 場所を指定し、add アクションとともに enterprise オプションを設定することも できます。

片方のオプションを指定した場合は、両方とも指定する必要があります。

enterprise オプションはブール値であり、新規 JRun サーバで EJB および JMS Enterprise 版の機能を有効にするかどうかを決定します。既定値は true です。"新 規 JRun サーバについて" で説明したように、このオプションを設定すると Enterprise 関連のプロパティが local.properties ファイルに書き込まれます。

remove

既存の JRun サーバを削除します。削除する前に JRun サーバを停止する必要が あります。


メモ

admin JRun サーバを削除しないでください。削除すると JMC にアクセスでき なくなります。


exists

サーバが存在する場合は、"The server 'servername' exists" というメッ セージが返されます。存在しない場合は、"The server 'servername' does not exist" というメッセージが返されます。このアクションによってサーバの存在を 調べる場合、そのサーバが実行中である必要はありません。次に例を示します。

% java allaire.jrun.tools.Server exists default c:¥jrun¥The server 'default' exists.
% java allaire.jrun.tools.Server exists nickdanger c:¥jrun¥The server 'nickdanger' does not exist.

Java アプリケーションでの Server クラスの呼び出し

独自の Java アプリケーションから Server クラスのパブリック メソッドにアクセスして、プログラムで JRun サーバの追加と削除を実行できます。このクラスを使用してサーバの存在をテストすることもできます。このセクションでは、Server クラスのパブリック メソッドについて説明します。

コンストラクタの詳細

Server
public Server(java.lang.String serverName,
              java.lang.String jrunDir)
       throws java.io.IOException,allaire.jrun.tools.ServerException

新規サーバを構築します。次の表では、パラメータについて説明しています。
パラメータ
説明
serverName
新規 JRun サーバの名前
jrunDir
JRun のルート ディレクトリ

メソッドの詳細

add
public void add()
  throws java.io.IOException, allaire.jrun.tools.ServerException

新規 JRun サーバを追加します。local.properties を空のファイルと見なし、サー バー ディレクトリを {JRun のルート ディレクトリ}/servers/{サーバ} と見なし て、既定により EJB と JMS を有効にします。

add
public void add(allaire.jrun.util.OrderedProperties ordProp)
  throws java.io.IOException, allaire.jrun.tools.ServerException

新規 JRun サーバを追加します。サーバ ディレクトリを {JRun のルート
ディレクトリ}/servers/{サーバ} と見なし、EJB と JMS を有効にします。次の表 では、パラメータについて説明しています。
パラメータ
説明
ordProp
新規サーバの local.properties ファイルに保存されるプロパティ

add
public void add(allaire.jrun.util.OrderedProperties ordProp, 
               boolean enterprise) 
  throws java.io.IOException, allaire.jrun.tools.ServerException

新規 JRun サーバを追加します。新規サーバ ディレクトリを {JRun のルート ディレクトリ}/servers/{サーバ} と見なします。次の表では、パラメータについ て説明しています。
パラメータ
説明
ordProp
新規サーバの local.properties ファイルに保存される
プロパティ
enterprise
新規 JRun サーバの EJB と JMS を有効にします。

add
public void add(allaire.jrun.util.OrderedProperties ordProp,
               java.lang.String serverDirNew,
               boolean enterprise)
  throws java.io.IOException, allaire.jrun.tools.ServerException 

新規 JRun サーバを追加します。次の表では、パラメータについて説明しています。
パラメータ
説明
ordProp
新規サーバの local.properties ファイルに保存される
プロパティ
serverDirNew
新規 JRun サーバのディレクトリの場所
enterprise
新規 JRun サーバの EJB と JMS を有効にします。

remove
public void remove()
  throws java.io.IOException, allaire.jrun.tools.ServerException

JRun サーバを削除します。削除する前に JRun サーバを停止する必要があり ます。

exists
public boolean exists()

サーバが存在するかどうかをチェックします。

手作業での JRun サーバの追加と削除

このセクションでは、新規 JRun サーバの追加と削除を手作業で行う方法について説明します。JMC を使用して新規 JRun サーバを作成する方法については、『JRun セットアップ ガイド』を参照してください。

手作業での JRun サーバの追加

新規 JRun サーバを手作業で最も簡単に作成するには、既定のアプリケーションを含む default JRun サーバのファイルおよびディレクトリ構造をコピーし、そのコピーを変更して新規サーバの内容を反映させます。

JRun サーバを作成するには

  1. 新規サーバの名前を付けたディレクトリ (/servers/foo など) に /servers/default ディレクトリをコピーします。
  2. 新しいディレクトリ (/servers/foo) 内の local.properties ファイルを開きます。
    local.properties ファイルでは JRun サーバ固有の設定を定義します。この設定には、名前やポート設定などの基本的なプロパティだけでなく、そのサーバで公開するアプリケーションも含まれます。

    新しい local.properties ファイルを次のように変更します。

    1. サーバの新規名 (表示名) を反映するように jrun.server.displayname プロパティを変更します。この名前は JMC に表示されます。コードは次のようになります。
          ## jvm properties
          # was:jrun.server.displayname=Default Server
          jrun.server.displayname=Foo Server
      
    2. 「Web Application Settings」セクションから不要なアプリケーションを削除します。default-app を残す場合は、ほかの JRun サーバの default-app マッピングと競合しないように URL マッピングを必ず変更してください。default サーバにアプリケーションを追加していない場合、demo-app と invoice-app 以外のアプリケーションを削除する必要はありません。

      たとえば、各アプリケーションには次のようなセクションがあります。

          invoice-app.rootdir=C:¥Program Files¥Allaire¥¥JRun¥servers¥default¥invoice-app
          invoice-app.class={webapp.service-class}
          webapp.mapping./invoice=invoice-app
      

      該当するアプリケーションの設定を削除します。

    3. default アプリケーションのみが含まれるように servlet.webapps プロパティを再設定します。行は次のようになります。
          #was:servlet.webapps=default-app, demo-app
          servlet.webapps=default-app
      
    4. ポート設定を固有のポートに変更します (これらの設定はファイル内の別々のセクションにあります)。次に例を示します。
          web.endpoint.main.port=8101 #was:8100 (Web server port)
          control.endpoint.main.port=53001 #was:53000 (Control port)
          ejipt.classServer.port=2324 #was: 2323
          ejipt.homePort=2334 #was 2333
      

    メモ

    これらのポート設定を変更しないと、バインドの例外が発生する場合があります。 JRun のポートについては、『JRun セットアップ ガイド』を参照してください。


  3. local.properties ファイルを保存します。
  4. default-app を含むすべてのアプリケーションのディレクトリを
    /servers/foo から削除します。default サーバにアプリケーションを追加していない場合、削除する必要があるのは default-app ディレクトリだけです。
  5. JRun のルート ディレクトリ/lib ディレクトリ内の jvms.properties ファイルを開きます。JRun では jvms.properties ファイルを使用して、インスタンス化する必要があるサーバが調べられます。新規サーバの行を追加します。ファイルは次のようになります (NT の場合)。
    admin=C:/Program Files/Allaire/JRun/servers/admin
    default=C:/Program Files/Allaire/JRun/servers/default
    foo=C:/Program Files/Allaire/JRun/servers/foo
    

    サーバ名が行の先頭にあり、ディレクトリ名が行の末尾にあることに注意して ください。

  6. 新規 JRun サーバを起動します。

    Windows の場合

    1. /JRun のルート ディレクトリ/bin 内の jrun-default.bat ファイルを
      jrun-foo.bat にコピーします。
    2. jrun-foo.bat を編集して新規サーバの名前を指定します。
          @echo off
          start jrun -start foo
      
    3. jrun-foo.bat ファイルを実行します。
    4. オプションで (NT のみ)、コマンド ライン ユーティリティを使用して新規サーバを NT サービスとして追加することもできます。
          % jrun -install "Foo Service" foo -quiet
      
    5. 次のコマンドを使用してサーバを起動します。
          % jrun -start foo
      

      UNIX の場合

      /jrun/bin 内の jrun コマンド ライン ユーティリティを使用します。

          % jrun -start foo
      
  7. JMC にログインしている場合は、ログアウトしてから admin サーバを再起動します。

    次回のログイン時には、新規 Foo サーバが JMC の左側ペインに表示されます。 Foo サーバには Web アプリケーションがありません。

  8. 新規 JRun サーバを使用するには、そのサーバ上で Web アプリケーションを作成する必要があります。詳細は、『JRun セットアップ ガイド』を参照してください。

手作業での JRun サーバの削除

JRun サーバの削除は十分に検討した上で行う必要があります。サーバを削除する前に、そのサーバ内にある重要なファイルまたはアプリケーションを必ずバックアップしてください。このセクションでは、JRun サーバを削除する方法について説明します。


注意

admin JRun サーバまたは default JRun サーバを削除しないでください。削除 すると、これらのサーバ内のアプリケーションが失われます。


JRun サーバを削除するには

  1. 削除する JRun サーバを停止します。
  2. そのサーバのディレクトリとすべてのサブディレクトリを削除します
    (たとえば、/servers 内の /foo ディレクトリを削除します)。
  3. JRun のルート ディレクトリ/lib ディレクトリ内の jvms.properties ファイルを開き、該当するサーバの行を削除します。ファイルは次のようになります
    (NT の場合)。
    admin=C:/Program Files/Allaire/JRun/servers/admin
    default=C:/Program Files/Allaire/JRun/servers/default
    #foo=C:/Program Files/Allaire/JRun/servers/foo
    
  4. サーバの起動スクリプトを削除します。
  5. サーバを NT サービスとして追加した場合は、コマンド ライン ユーティリティを使用してこのサービスを削除します。
    % jrun -remove "Foo Server" -quiet
    
  6. JMC にログインしている場合は、ログアウトしてから admin サーバを再起動します。

    次回のログイン時には、このサーバが JMC の左側ペインに表示されません。

JMC の [新規サーバの構成] パネルの拡張

前に説明したように、JMC を使用して JRun サーバを追加すると、新規 JRun サーバの概要を示す local.properties ファイルのみが作成されます。JRun では、JMC を使用して新規 JRun サーバを追加する既定の機能を拡張するための方法がいくつか用意されています。

このセクションでは、admin JRun サーバの local.properties ファイルを変更してこれらの操作を実行する方法について説明します。admin サーバ上で動作している jmc-app によって JMC の内容が制御されるため、local.properties ファイルを編集する必要があります。 admin サーバの local.properties ファイルの編集プロセスは、PropertScript ユーティリティを使用して自動化できます。詳細は、"JRun プロパティのカスタマイズ"を参照してください。

[新規サーバの構成] パネルへのフィールドの追加

JMC の [新規サーバの構成] パネルにフィールドを追加し、JMC ユーザの応答をプロパティとして新規 JRun サーバの local.properties ファイルに保存できます。新しいプロパティは、既存の JRun プロパティを置き換えることも、JRun サーバまたは Web アプリケーションのコンテキストで特別な意味を持つ固有のプロパティにすることもできます。

たとえば、[新規サーバの構成] パネルに [Logging Level] というフィールドを追加し、そのフィールドを local.properties 内の logging.loglevel プロパティにマッピングし、必要なログ レベル (情報、警告、エラーなど) の入力をユーザに要求できます。

このセクションでは、[Logging Level] フィールドおよびプロパティの追加手順を示し、JMC の [新規サーバの構成] パネルにフィールドを追加する方法について説明します。

[新規サーバの構成] パネルにフィールドを追加するには

  1. JRun のルート ディレクトリ/servers/admin/local.properties にある admin JRun サーバの local.properties ファイルを開きます。
  2. AddServer セクションを見つけます。
  3. 新規フィールドのトークン名を jmcAddServer.items プロパティに追加します。この名前は、local.properties ファイル内の新規プロパティを参照するときに使用されます。

    たとえば、新規プロパティの名前を logSetting にする場合は、カンマ区切りリストの 最後に logSetting を追加します。

    jmcAddServer.items=displayName,webPort,controlPort,enterprise,ejbCla
    ssPort,ejbHomePort,logSetting
    
  4. 次のプロパティと値を追加します。この手順では、logSetting の属性を定義しています。
    jmcAddServer.logSetting.title=Logging Level
    jmcAddServer.logSetting.name=logging.loglevel
    jmcAddServer.logSetting.type=string
    jmcAddServer.logSetting.description=Enter one or more of the 
    following in a comma-delimited list:info, warning, error
    jmcAddServer.logSetting.optional=false
    
  5. admin JRun サーバの local.properties ファイルを保存して閉じます。
  6. admin JRun サーバを再起動します。
  7. JMC で [マシン名] を選択します。

    [新規サーバの構成] パネルが新規フィールドとともに表示されます。

    ユーザが [Logging Level] フィールドに「info」と入力して [作成] ボタンをクリックす ると、既定のプロパティのほかに次の行が新規 JRun サーバの local.properties ファ イルに書き込まれます。

    logging.loglevel=info
    

新規 JRun サーバへの既定のプロパティの追加

このセクションの指示に従って、すべての新規 JRun サーバに追加するプロパティの一覧を作成できます。このプロセスでは、新規フィールドの作成や新規サーバを作成するユーザに対するプロンプトの表示は行われませんが、代わりにプロパティの一覧がファイルから読み込まれ、新しい local.properties ファイルに書き込まれます。

新規 JRun サーバに既定のプロパティを追加するには

  1. JRun のルート ディレクトリ/servers/admin/local.properties にある admin JRun サーバの local.properties ファイルを開きます。
  2. AddServer セクションを見つけます。
  3. jmcAddServer.file プロパティでファイルを指定します。既定値は次のとおりです。
    jmcAddServer.file=/lib/jmcAddServer.file
    

    この場所は JRun のルート ディレクトリからの相対パスです。

  4. jmcAddServer.file または jmcAddServer.file プロパティで指定したファイルを開きます。このファイルの既定の内容は次のとおりです。
    # Add here any properties that you wish to be added to a server 
    # when created in the JRun Management Console.
    # See the admin server's local.properties for more information.
    
  5. JMC で作成したすべての新規 JRun サーバに追加するプロパティおよび値を追加します。

    たとえば、すべての新規 JRun サーバにカスタム ロガーを追加するには、
    jmcAddServer.file に次のプロパティを追加します。

    logging.threadedlogger.listeners=filelogwriter,mydispatcher
    logging.mydispatcher.class=allaire.jrun.logging.DispatchLogger 
    logging.mydispatcher.events=allaire.jrun.logging.MetricsLogEve
    nt logging.mydispatcher.destinations=metricswriter 
    logging.metricswriter.class=allaire.jrun.logging.FileLogWriter 
    logging.metricswriter.filename= {jrun.rootdir}/logs/
    {jrun.server.name}-metrics.csv 
    logging.metricswriter.heading.line1=# JRun 3.0 Metrics 
    logging.metricswriter.heading.line2=# Date, JVM Free 
    Memory,Requests,Avg Request Time 
    logging.metricswriter.format={date MM/dd 
    HH:mm:ss},{log.message}
    

    これらのプロパティでは mydispatcher という新しいリスナが追加されます。この DispatchLogger によって MetricsLogEvent タイプのログ イベントが受信され、 metricswriter というロガーに転送されます。ほかのすべてのタイプのログ
    メッセージは無視されます。

    新しいログ ライタが設定されてログ イベントが FileLogWriter に server-metrics.csv というファイル名で送信され、出力がフォーマットされます。


    メモ

    jmcAddServer.file の内容を編集しても、既存の JRun サーバは影響を受けません。 JMC を使用して追加された JRun サーバのみが影響を受けます。


  6. jmcAddServer.file を保存して閉じます。
  7. admin JRun サーバを再起動します。

    次に JMC の [新規サーバの構成] パネルを使用して新規 JRun サーバを作成す るとき、jmcAddServer.file 内のすべてのプロパティが新規 JRun サーバの local.properties ファイルに書き込まれます。