JRun をインストールすると、admin と default の 2 つの JRun サーバがインストールされて起動されます。
JRun で提供されている Server クラスを使用すると、JRun サーバの追加と削除を行ったり、JRun サーバが存在するかどうかをプログラムまたはコマンド ラインからテストできます。サーバ設定を最大限に制御するために、このセクションの指示に従って JRun サーバの追加と削除を手作業で行うこともできます。
JRun には、JMC の [新規サーバの構成] パネルに独自のフィールドを追加する機能もあります。
コマンド ラインまたは JMC を使用して新規 JRun サーバの既定のインストールを実行すると、その新規 JRun サーバの概要を示す local.properties ファイルが作成されます。このファイルには次のプロパティが含まれています。
新規サーバを Enterprise サーバに指定した場合、local.properties ファイルには次のプロパティも含まれます。
このセクションでは、allaire.jrun.tools パッケージ内の Server クラスを使用して JRun サーバの追加と削除を行う方法について説明します。コマンド ラインから Server クラスを使用したり、Java アプリケーション内からそのパブリック メソッドを呼び出すことができます。
Server ユーティリティを呼び出すには、クラスパスに JRun のルート ディレクトリ
/lib/jrun.jar を含める必要があります。
Server クラスを使用して JRun サーバを追加すると、次の作業が実行されます。
新規 JRun サーバを使用するには、そのサーバ上で Web アプリケーションを作成する必要があります。詳細は、『JRun セットアップ ガイド』を参照してください。
コマンド ラインから 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¥
新規 JRun サーバを追加します。必要に応じて新規 local.properties ファイルの
場所を指定し、add
アクションとともに enterprise
オプションを設定することも
できます。
片方のオプションを指定した場合は、両方とも指定する必要があります。
enterprise
オプションはブール値であり、新規 JRun サーバで EJB および JMS
Enterprise 版の機能を有効にするかどうかを決定します。既定値は true です。"新
規 JRun サーバについて" で説明したように、このオプションを設定すると
Enterprise 関連のプロパティが local.properties ファイルに書き込まれます。
既存の JRun サーバを削除します。削除する前に JRun サーバを停止する必要が あります。
メモ admin JRun サーバを削除しないでください。削除すると JMC にアクセスでき なくなります。 |
サーバが存在する場合は、"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 クラスのパブリック メソッドにアクセスして、プログラムで JRun サーバの追加と削除を実行できます。このクラスを使用してサーバの存在をテストすることもできます。このセクションでは、Server クラスのパブリック メソッドについて説明します。
public Server(java.lang.String serverName, java.lang.String jrunDir) throws java.io.IOException,allaire.jrun.tools.ServerException
新規サーバを構築します。次の表では、パラメータについて説明しています。
パラメータ |
説明 |
---|---|
serverName |
新規 JRun サーバの名前 |
jrunDir |
JRun のルート ディレクトリ |
public void add() throws java.io.IOException, allaire.jrun.tools.ServerException
新規 JRun サーバを追加します。local.properties を空のファイルと見なし、サー バー ディレクトリを {JRun のルート ディレクトリ}/servers/{サーバ} と見なし て、既定により EJB と JMS を有効にします。
public void add(allaire.jrun.util.OrderedProperties ordProp) throws java.io.IOException, allaire.jrun.tools.ServerException
新規 JRun サーバを追加します。サーバ ディレクトリを {JRun のルート
ディレクトリ}/servers/{サーバ} と見なし、EJB と JMS を有効にします。次の表
では、パラメータについて説明しています。
パラメータ |
説明 |
---|---|
ordProp |
新規サーバの local.properties ファイルに保存されるプロパティ |
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 を有効にします。 |
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 を有効にします。 |
public void remove() throws java.io.IOException, allaire.jrun.tools.ServerException
JRun サーバを削除します。削除する前に JRun サーバを停止する必要があり ます。
public boolean exists()
サーバが存在するかどうかをチェックします。
このセクションでは、新規 JRun サーバの追加と削除を手作業で行う方法について説明します。JMC を使用して新規 JRun サーバを作成する方法については、『JRun セットアップ ガイド』を参照してください。
新規 JRun サーバを手作業で最も簡単に作成するには、既定のアプリケーションを含む default JRun サーバのファイルおよびディレクトリ構造をコピーし、そのコピーを変更して新規サーバの内容を反映させます。
新しい local.properties ファイルを次のように変更します。
## jvm properties # was:jrun.server.displayname=Default Server jrun.server.displayname=Foo Server
たとえば、各アプリケーションには次のようなセクションがあります。
invoice-app.rootdir=C:¥Program Files¥Allaire¥¥JRun¥servers¥default¥invoice-app invoice-app.class={webapp.service-class} webapp.mapping./invoice=invoice-app
該当するアプリケーションの設定を削除します。
#was:servlet.webapps=default-app, demo-app servlet.webapps=default-app
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 セットアップ ガイド』を参照してください。 |
admin=C:/Program Files/Allaire/JRun/servers/admin default=C:/Program Files/Allaire/JRun/servers/default foo=C:/Program Files/Allaire/JRun/servers/foo
サーバ名が行の先頭にあり、ディレクトリ名が行の末尾にあることに注意して ください。
Windows の場合
@echo off start jrun -start foo
% jrun -install "Foo Service" foo -quiet
% jrun -start foo
UNIX の場合
/jrun/bin 内の jrun
コマンド ライン ユーティリティを使用します。
% jrun -start foo
次回のログイン時には、新規 Foo サーバが JMC の左側ペインに表示されます。 Foo サーバには Web アプリケーションがありません。
JRun サーバの削除は十分に検討した上で行う必要があります。サーバを削除する前に、そのサーバ内にある重要なファイルまたはアプリケーションを必ずバックアップしてください。このセクションでは、JRun サーバを削除する方法について説明します。
注意 admin JRun サーバまたは default JRun サーバを削除しないでください。削除 すると、これらのサーバ内のアプリケーションが失われます。 |
admin=C:/Program Files/Allaire/JRun/servers/admin default=C:/Program Files/Allaire/JRun/servers/default #foo=C:/Program Files/Allaire/JRun/servers/foo
% jrun -remove "Foo Server" -quiet
次回のログイン時には、このサーバが 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 の [新規サーバの構成] パネルにフィールドを追加する方法について説明します。
たとえば、新規プロパティの名前を logSetting にする場合は、カンマ区切りリストの 最後に logSetting を追加します。
jmcAddServer.items=displayName,webPort,controlPort,enterprise,ejbCla ssPort,ejbHomePort,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
[新規サーバの構成] パネルが新規フィールドとともに表示されます。
ユーザが [Logging Level] フィールドに「info」と入力して [作成] ボタンをクリックす ると、既定のプロパティのほかに次の行が新規 JRun サーバの local.properties ファ イルに書き込まれます。
logging.loglevel=info
このセクションの指示に従って、すべての新規 JRun サーバに追加するプロパティの一覧を作成できます。このプロセスでは、新規フィールドの作成や新規サーバを作成するユーザに対するプロンプトの表示は行われませんが、代わりにプロパティの一覧がファイルから読み込まれ、新しい local.properties ファイルに書き込まれます。
jmcAddServer.file=/lib/jmcAddServer.file
この場所は JRun のルート ディレクトリからの相対パスです。
# 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.
たとえば、すべての新規 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 サーバのみが影響を受けます。 |
次に JMC の [新規サーバの構成] パネルを使用して新規 JRun サーバを作成す るとき、jmcAddServer.file 内のすべてのプロパティが新規 JRun サーバの local.properties ファイルに書き込まれます。