BEA ホーム | 製品 | dev2dev | support | askBEA
 ドキュメントのダウンロード   サイト マップ   Glossary 
検索

管理者ガイド

 Previous Next Contents PDF で侮ヲ  

WebLogic Server の起動と停止

以下の節では、管理サーバと管理対象サーバを起動および停止する手順について説明します。

 


サーバのライフサイクル

WebLogic Server は、複数ある状態のうち、常にいずれか 1 つの状態にあり、それらの状態の間を遷移する時期と方法が定義された規則に従っています。サーバが遷移していく一連の状態のことを、サーバのライフサイクルと呼びます。図 2-1 を参照してください。

図2-1 サーバのライフサイクル


 

遷移の一般的なパターンは、以下のとおりです。

  1. 停止中 (SHUTTING_DOWN)。この状態のサーバは、コンフィグレーションされていますがアクティブではありません。

  2. 起動中 (STARTING)。サーバの起動時には、以下のアクションが行われます。

    1. コンフィグレーション データを取得する。

      管理サーバは、ドメインのコンフィグレーション ファイルからコンフィグレーション データ (セキュリティ コンフィグレーション データを含む) を取得します。管理対象サーバはコンフィグレーション データとセキュリティ データを取得するために管理サーバにアクセスします。SSL が設定されている場合、管理対象サーバは、証明書ファイル、キー ファイルなどの独自の SSL 関連ファイルを使用し、残りのコンフィグレーション データとセキュリティ データを取得するために管理サーバにアクセスします。

    2. カーネル レベルのサービス (ロギング サービス、タイマー サービスなど) を起動する。

    3. 手順 2a で取得したコンフィグレーション データを使用して、サブシステムレベルのサービスを初期化する。以下のようなサービスがあります。

      • セキュリティ サービス

      • RMI サービス

      • クラスタ サービス

      • IIOP サービス

      • ネーミング サービス

      • RMI ネーミング サービス

      • ファイル サービス

      • JCA コンテナ

      • JDBC コンテナ

      • EJB コンテナ

      • Web コンテナ

      • デプロイメント マネージャ

      • JMS プロバイダ

      • リモート管理

      • トランザクション サービス

    4. 別の管理ポートを使用するようにサーバをコンフィグレーションした場合は、リモート コンフィグレーションおよびモニタを有効にする。管理ポートについては、『WebLogic Server ドメイン管理』の「ドメイン全体の管理ポートのコンフィグレーション」を参照してください。

    5. WebLogic Server Administration Console で指定した順序で、適切なコンテナにモジュールをデプロイする。

      アプリケーションをデプロイする前にロードするようコンフィグレーションされた起動クラスは、サーバが JDBC 接続プール、Web アプリケーション、および EJB をデプロイする前にロードされ実行されます。

    6. アプリケーションをデプロイした後にロードするようコンフィグレーションされた起動クラスは、サーバが JDBC 接続プール、Web アプリケーション、および EJB をデプロイした後にロードされ実行されます。

  3. スタンバイ (STANDBY)。管理ポートをコンフィグレーションした場合にのみ使用できる状態です。サーバを起動し、この状態にするコマンドを実行できます。この状態のサーバは、すべてのサービスおよびアプリケーションが初期化されており、管理コマンドを受け入れたり、クラスタの通信に参加したりできます。外部クライアントからのリクエストにはアクセスできません。

    スタンバイ状態の一般的な使用方法は、可用性の高い、またはミッションクリティカルな環境において、サーバを「ホット」バックアップとして使用可能な状態にしておくことです。バックアップ サーバの使用が必要になった場合には、スタンバイ サーバをすぐに再開して、クライアントのリクエストを処理できます。

  4. 実行中 (RUNNING)。この状態のサーバは、クライアントにサービスを提供し、クラスタの正規メンバーとして機能できます。

  5. 停止中 (SHUTTING_DOWN)。実行中状態またはスタンバイ状態のいずれかから、サーバをこの状態にすることができます。停止状態に遷移するとき、サーバは停止中状態を経由します。

    正常な停止リクエストを発行すると、コンフィグレーションしたすべての停止クラスが呼び出されます。サーバを正常に停止できるのは、実行中状態またはスタンバイ状態からのみです。

    強制的な停止を発行すると、すべてのアプリケーションおよびサブシステムに対して、すべての作業を中断してすべてのリソースを開放するよう通知されます。強制的な停止では、トランザクションがロールバックされたり、いくつかのクライアントのセッションが失われるおそれがあります。サーバの強制的な停止は、どの状態からでも実行できます。

サーバにはさらに 2 つの状態があります。

サーバのライフサイクルの制御

以下のいずれかのインタフェースを使用して、サーバのライフサイクルを制御できます。

ライフサイクル オペレーションのタイムアウト期間

ライフサイクル コマンドを実行すると、サーバはサブシステムおよびアプリケーションにそのリクエストを通知し、サブシステムおよびアプリケーションが応答するまで何秒間か待機します。指定した秒数以内に応答がない場合、そのライフサイクル オペレーションはタイムアウトします。タイムアウトした後に行われるアクションは、オペレーションの種類によって異なります。

このタイムアウト期間は、SHUTDOWN オペレーションおよび FORCESHUTDOWN オペレーションにのみ適用されます。オペレーションがコンフィグレーションされた期間内に完了しない場合は、以下のいずれかのアクションが発生します。

[サーバ|チューニング] タブで、デフォルトのタイムアウト期間を変更できます。詳細については、Administration Console オンライン ヘルプの「ライフサイクル オペレーションのタイムアウト設定」を参照してください。

 


サーバを起動するためのユーザ名とパスワードの指定

デフォルトでは、サーバ プロセスを実行するコマンド シェルでユーザ名とパスワードの入力が求められます。ユーザ名は、サーバの起動を許可されているロールに属していなければなりません。ロールとパーミッションについては、システム管理操作の保護 を参照してください。

この節では、以下のタスクについて説明します。

初期管理ユーザ名の指定

コンフィグレーション ウィザードでは、ユーザ名とパスワードの入力が求められます。入力したユーザ名は myrealm セキュリティ レルムの初期管理ユーザ名となります。セキュリティ レルムは、ユーザを認証したり、ユーザがアクセスできるリソースの種類を指定したりといった、WebLogic リソースのセキュリティ関連のサービスを提供するコンポーネント (プロバイダ) の集合です。WebLogic Server には myrealm セキュリティ レルムがインストールされており、デフォルトではそれが使用されます。

初めて WebLogic Server を起動するとき、この初期管理ユーザ名とパスワードを入力します。コンフィグレーション ウィザードを使用しなかった場合は、初期ユーザ名とパスワードの入力が求められます。

Administration Console を使用して、myrealm にユーザを追加できます。WebLogic Server にインストールされている認証プロバイダ以外の認証プロバイダを使用する場合には、そのプロバイダの管理ツールを使用して管理者特権を持ったユーザを最低でも 1 人作成する必要があります。管理者特権の付与については、システム管理操作の保護を参照してください。

注意: guest ユーザは、WebLogic Server バージョン 7.0 ではデフォルトでは提供されなくなりました。guest ユーザを使用するには、互換性モードで実行するか、またはセキュリティ レルムの認証プロバイダのユーザとして guest ユーザを定義する必要があります。互換性モードについては、『WebLogic Security の管理』の「互換性セキュリティの使い方」を参照してください。

別のセキュリティ レルムを使用するように WebLogic Server をコンフィグレーションできます。異なるセキュリティ レルムを設定した場合は、設定したレルムから 1 つをデフォルトとして指定する必要があります。起動時には WebLogic Server はデフォルトのレルムを使用して、入力されたユーザ名を認証します。

ユーザ名とパスワードのプロンプトの回避

ユーザ名とパスワードのプロンプトを回避する場合は、起動 ID ファイルを作成して使用することをお勧めします。起動 ID ファイルにはユーザ名とパスワードが暗号化された形式で格納されます。

この節では、以下の項目について説明します。

管理サーバの起動 ID ファイルの作成

管理サーバの起動 ID ファイルを作成するには、次の手順に従います。

  1. 管理サーバを 1 回以上起動し、コマンドラインでユーザ資格を指定します。

    管理サーバは最初の起動プロセスの過程でセキュリティ ファイルを生成します。このファイルが適切な場所にないと、サーバは起動 ID ファイルを使用できません。

  2. 次の 2 行をテキスト ファイルに入力します。

    username=username
    password=password

    ユーザ名とパスワードの値は、デフォルト セキュリティ レルムの認証プロバイダの既存ユーザ アカウントと一致し、さらにサーバを起動するパーミッションを持つロールに属している必要があります。ロールとパーミッションについては、システム管理操作の保護を参照してください。

  3. ファイルを保存します。

    ファイルを boot.properties として保存し、サーバのルート ディレクトリに配置すると、起動時に自動的にこのファイルが使用されます。 詳細については、起動 ID ファイルの使用.を参照してください。

初めてこのファイルを使用してサーバを起動するとき、サーバはファイルを読み込んでから、ユーザ名とパスワードの暗号化バージョンでそのファイルを上書きします。

管理サーバの起動 ID ファイルを作成する別の方法

前の節で説明した手順に従う代わりに weblogic.Server クラスをコマンドラインから直接呼び出す場合、Java コマンドに以下のオプションを指定することによって起動 ID ファイルを作成できます。

-Dweblogic.management.username=username
-Dweblogic.management.password=password
-Dweblogic.system.StoreBootIdentity=true

これらのオプションを指定すると、サーバ インスタンスが指定したユーザ資格で起動され、boot.properties というファイルに格納されます。

たとえば、次のコマンドを実行すると、myAdminServer という名前の管理サーバが起動し、起動 ID ファイルが作成されます。

java -Dweblogic.management.username=username
-Dweblogic.management.password=password
-Dweblogic.system.StoreBootIdentity=true
-Dweblogic.Name=myAdminServer weblogic.Server

コマンドラインから直接 weblogic.Server クラスを呼び出す方法の詳細については、weblogic.Server コマンドの使用 を参照してください。

注意: スクリプトを使用して管理サーバを起動する場合は、以下の理由からこの節で説明した方法を使用することはお勧めできません。

管理対象サーバの起動 ID ファイルの作成

管理対象サーバが、管理サーバと同じルート ディレクトリを使用しているならば、その管理対象サーバを別のユーザ資格に基づいて実行する場合以外は、管理対象サーバのためにさらに起動 ID ファイルを作成する必要はありません。 サーバのルート ディレクトリについては、サーバのルート ディレクトリを参照してください。

また、ノード マネージャを使って管理対象サーバを起動する場合は、起動 ID ファイルを作成する必要はありません。その代わり、Administration Console における管理対象サーバの [リモート スタート] タブでユーザ資格を指定する必要があります。詳細については、「管理対象サーバの起動引数のコンフィグレーション」を参照してください。

管理対象サーバの起動 ID ファイルを作成するには、次の手順に従います。

  1. ドメインの管理サーバを起動します。

  2. 管理サーバのルート ディレクトリから管理対象サーバのルート ディレクトリへ、SerializedSystemIni.dat ファイルをコピーします。

  3. 次の 2 行をテキスト ファイルに入力します。

    username=username
    password=password

    ユーザ名とパスワードの値は、デフォルト セキュリティ レルムの認証プロバイダの既存ユーザ アカウントと一致し、さらにサーバを起動するパーミッションを持つロールに属している必要があります。ロールとパーミッションについては、システム管理操作の保護を参照してください。

  4. ファイルを保存します。

    ファイルを boot.properties として保存し、サーバのルート ディレクトリに配置すると、起動時に自動的にこのファイルが使用されます。 詳細については、起動 ID ファイルの使用.を参照してください。

起動 ID ファイルの使用

サーバ インスタンスは、次のように起動 ID ファイルを使用します。

特定のサーバ インスタンスでは、そのインスタンスが作成した起動 ID ファイルのみを使用してください。WebLogic Server は、あるサーバのルートディレクトリから別のサーバのルート ディレクトリへの起動 ID ファイルのコピーはサポートしていません。

たとえば、ServerA を使用して起動 ID ファイルを生成した場合、ServerA ではその起動 ID ファイルだけを使用します。ServerA の起動 ID ファイルを、ServerB のルート ディレクトリへコピーすることはできません。代わりに、上述の手順で ServerB の起動 ID ファイルを作成します。

起動後の起動 ID ファイルの削除

サーバの起動後に起動 ID ファイルを削除する場合は、サーバの weblogic.Server 起動コマンドで次の引数を使用します。

-Dweblogic.system.RemoveBootIdentity=true

この引数は、サーバが起動に使用したファイルのみを削除します。たとえば、-Dweblogic.system.BootIdentityFile=c:¥secure¥boot.MyServer と指定した場合には、サーバのルート ディレクトリに boot.properties というファイルが格納されていても boot.MyServer のみが削除されます。

代替手段 : コマンドラインでの ID 情報の入力

対話形式のプロンプトを回避するには、起動 ID ファイルの使用が最も安全で便利な方法です。ただし、起動 ID ファイルを使用する代わりに、weblogic.Server 起動コマンドに以下の引数を追加することもできます。

-Dweblogic.management.username=username
-Dweblogic.management.password=password

これらの引数を両方とも入力すると、対話形式のプロンプトを回避できます。

これらのオプションにより、サーバ インスタンスは起動 ID ファイルを一切使用しないようになり、サーバが起動 ID ファイルを使用することになるような他の起動オプションはオーバーライドされます。

サーバを起動するコマンドは長くなる場合があるので、通常は起動コマンドの大部分がスクリプトに組み込まれています。セキュリティに少しでも不安のある環境では、-Dweblogic.management.password=password 引数を起動スクリプトに保存しないことをお勧めします。

これらの引数の詳細については、weblogic.Server コマンドの使用を参照してください。

 


管理サーバの起動

WebLogic Server は、Java 仮想マシン (JVM) 内のプロセスとして実行されます。各 JVM でホストできるのは、1 つのサーバ プロセスのみです。サーバを起動するには、一連の引数を使用して JVM を起動します。

ドメインが 1 つの WebLogic Server のみで構成されている場合は、そのサーバが管理サーバになります。ドメインが複数の WebLogic Server で構成されている場合は、管理対象サーバを起動する前に管理サーバを起動する必要があります。

同じドメイン内の管理サーバと管理対象サーバは、すべて同じバージョンの WebLogic Server である必要があります。また、管理サーバのサービスパックのレベルは、管理対象サーバのサービスパックのレベル以上でなければなりません。たとえば、管理対象サーバがリリース 7.0 であれば、管理サーバは 7.0 または 7.0 SP1 になります。ただし、管理対象サーバが SP1 である場合は、管理サーバも SP1 でなければなりません。ドメイン内の各サーバの名前はユニークでなければなりません。

この節では、管理サーバの起動について説明します。管理サーバを起動するには、以下の中から必要なタスクをローカル ホストで行います。

詳細については、以下を参照してください。

注意: WebLogic Server の起動時に数多くのクラスをロードしようとすると、JDK 1.3 によって OutOfMemory エラーが送出される場合があります。このエラーは、使用可能なメモリが十分あるような場合でも発生します。WebLogic Server の起動時に java.lang.OutOfMemory エラー例外が発生した場合は、次の JVM オプションの値を大きくしてください。

java -XX:MaxPermSize=<value>

<value> は、キロバイト単位の数字です。

JDK 1.3.1 では、MaxPermSize のデフォルトの値は 64m です (m は MB を表します)。

Windows の [スタート] メニューからの管理サーバの起動

コンフィグレーション ウィザードを使用して、Windows コンピュータ上で単一サーバ、管理対象サーバを持つ管理サーバ、またはクラスタ化された管理対象サーバを持つ管理サーバを作成すると、Windows の [スタート] メニューにドメインをインストールするよう求められます。インストールすることを選択した場合は、次の手順に従って単一サーバまたは管理サーバを起動できます。

Windows のデスクトップから、[スタート|プログラム|BEA WebLogic Platform 7.0|User Projects|domain_name|Start Server] をクリックします。

コマンド ウィンドウが開き、スクリプト domain_name¥startWebLogic.cmd が呼び出されます。このスクリプトについてはスクリプトを使用した管理サーバの起動で説明します。 サーバが正常に起動プロセスを完了すると、コマンド ウィンドウに次のメッセージが表示されます。

<Notice> <WebLogicServer> <000360> <Server started in RUNNING mode>

スクリプトを使用した管理サーバの起動

コマンドラインから WebLogic Server を起動するために必要な引数は長くなる場合があり、エラーが発生しやすくなるので、コマンドをスクリプトに組み込むことをお勧めします。

この節では、以下のタスクについて説明します。

コンフィグレーション ウィザード スクリプトを使用した管理サーバの起動

コンフィグレーション ウィザードを使用してドメインを作成すると、そのドメインの管理サーバの起動に使用できるスクリプトも作成されます。スクリプトを使用するには、コマンド プロンプトで以下のいずれかのコマンドを入力します。

このスクリプトは一部のドメイン固有の変数の値を設定してから、マスター起動スクリプト WL_HOME¥server¥bin¥startWLS.cmd (UNIX では startWLS.sh) を呼び出します。WL_HOME は WebLogic Server をインストールした場所です。マスター起動スクリプトは、JVM の場所などの環境変数を設定し、その後 WebLogic Server の引数を使用して JVM を起動します。

管理サーバを起動する独自のスクリプトの作成

Administration Console など別の方法でドメインを作成する場合は、次の手順に従って独自の起動スクリプトを作成できます。

  1. SERVER_NAME 変数の値を設定します。ドメイン内のすべてのサーバには名前が必要です。次に例を示します。

    set SERVER_NAME=myserver

    ドメインの config.xml ファイルでは、サーバの名前は <Server Name=serverName> として指定されます。set SERVER_NAME の値が config.xml で指定されているサーバ名になっていることを確認してください。

  2. 以下の任意指定の変数の値を設定します。

    表2-1 任意指定の変数

    変数

    説明

    WLS_USER

    サーバを起動するユーザをクリアテキストで設定する変数。この変数は使用せず、起動 ID ファイルを使用することを推奨。詳細については、ユーザ名とパスワードのプロンプトの回避を参照。

    WLS_PW

    サーバを起動するパスワードをクリアテキストで設定する変数。この変数は使用せず、起動 ID ファイルを使用することを推奨。 詳細については、ユーザ名とパスワードのプロンプトの回避を参照。

    ADMIN_URL

    この変数に URL を指定すると、サーバは管理対象サーバとして起動し、指定した URL を使用して管理サーバにアクセスする。

    詳細については、管理サーバと管理対象サーバを参照。

    STARTMODE

    サーバをプロダクション モードまたは開発モードのいずれで実行するかを指定する。true を指定するとプロダクション モードで、false を指定すると開発モードで実行される。

    プロダクション モードまたは開発モードの使用に関する詳細については、開発モードとプロダクション モードを参照。

    JAVA_OPTIONS

    サーバを実行するための Java コマンドライン オプション。Java コマンドライン オプションは、JAVA_VM および MEM_ARGS が渡された後に JVM に渡される。-Dweblogic.ListenAddress は、ドメインの起動スクリプトから呼び出せる Java オプションの例。 コマンドライン オプションの詳細については、weblogic.Server コマンドの使用を参照。

    UNIX シェルで複数のオプションをリストする場合は、一連のオプション全体を引用符で囲み、各オプションの間にスペースを挿入する。次に例を示す。

    JAVA_OPTIONS="-Dweblogic.attribute=value -Djava.attribute=value"

    JAVA_VM

    仮想マシンを実行するモードを指定するための Java 引数。以下のいずれかのオプションを使用。

    • -server

    • -client

    • -hotspot (Windows のみ)

    これらの操作モードをサポートしない JVM を使用している場合は、これらの引数が JVM に渡されないように、マスター スクリプトを編集する必要がある。 詳細については、WebLogic Server でのデフォルト以外の JVM の使用を参照。

    MEM_ARGS

    Java に渡されたデフォルトのメモリ引数をオーバーライドする変数。マスター起動スクリプトでは、オプションはデフォルトで -Xms200m および -Xmx200m に設定されている。


     

  3. マスター起動スクリプト WL_HOME¥server¥bin¥startWLS.cmd (UNIX では startWLS.sh) を呼び出します。

    マスター起動スクリプトは、JVM の場所などの環境変数を設定し、その後 WebLogic Server の引数を使用して JVM を起動します。WebLogic Server とともにインストールされる JVM を使用していない場合は、マスター起動スクリプトを編集する必要があります。 詳細については、WebLogic Server でのデフォルト以外の JVM の使用を参照してください。

  4. 起動スクリプトをドメインのルート ディレクトリ以外の場所に配置する場合は、JAVA_OPTIONS 変数に次の値を指定する必要があります。

    -Dweblogic.RootDirectory=path

    path は、ドメインのルート ディレクトリの場所を指定します。

    次に例を示します。

    JAVA_OPTIONS=-Dweblogic.RootDirectory=c:¥serverRoot

WebLogic Server でのデフォルト以外の JVM の使用

WebLogic Server とともにインストールされた JVM を使用しない場合は、JAVA_HOME 変数にシステム上の JVM の適切な場所が指定されるように、マスター起動スクリプトを編集する必要があります。

詳細については、「WebLogic Platform と共にバンドルされていない JVM を使用する」(http://edocs.beasys.co.jp/e-docs/platform/docs70/relnotes/relnotes.html) を参照してください。

weblogic.Server コマンドの使用

weblogic.Server は、ローカル ホストで WebLogic Server を起動するコマンドです。既に説明したように起動スクリプトは、このコマンドに一連のオプションを送るラッパーです。このコマンドとそれに付随するオプションを起動スクリプトに組み込むことをお勧めしますが、コマンドラインに直接 weblogic.Server コマンドを入力して単純に呼び出すこともできます。

たとえば、Windows 上で examples サーバを起動する単純な呼び出しは次のとおりです (このコマンドを WL_HOME¥samples¥server¥config¥examples ディレクトリから入力する必要があります)。

c:¥bea¥jdk131¥bin¥java 
-hotspot -Xms200m -Xmx200m
-classpath "c:¥bea¥jdk131¥lib¥tools.jar;
c:¥bea¥weblogic700¥server¥lib¥weblogic_sp.jar;
c:¥bea¥weblogic700¥server¥lib¥weblogic.jar;"
-Dweblogic.Name=examplesServer
-Dbea.home="C:¥bea" -Djava.security.policy="c:¥bea¥weblogic700¥server¥lib¥weblogic.policy"
weblogic.Server

ここでは、以下の項目について説明します。

リモート ホスト上の管理対象サーバの起動については、『WebLogic Server ドメイン管理』の「ノード マネージャによるサーバの可用性の管理」を参照してください。

クラスパスの設定

Java 仮想マシン (JVM) では、classpath と呼ばれる設定を使用して、必要不可欠なファイルおよびディレクトリの場所を指定します。

以下のコマンドを使用して、WebLogic Server のクラスパスを設定できます。

WL_HOME¥server¥bin¥setWLSEnv.cmd (Windows)
WL_HOME/server/bin/setWLSEnv.sh (UNIX)

setWLSEnv を使用する代わりに、起動コマンドで環境変数または -classpath 引数を使用できます。いずれの方法でも、WebLogic Server のインスタンスを実行する JVM のクラスパスに以下を含める必要があります。

weblogic.Server コマンドの構文

weblogic.Server コマンドの構文は、次のとおりです。

java RequiredArguments [OptionalArguments] weblogic.Server 

必須の引数

次の表には、java コマンドラインからの WebLogic Server の起動に不可欠な引数が示されています。

表2-2 サーバの起動に不可欠な引数

引数

説明

-Xms および -Xmx

Java ヒープ メモリの最小値と最大値を指定する (MB 単位)。

たとえば、デフォルトの 200MB の Java ヒープ メモリを WebLogic Server に割り当ててサーバを起動するとする。そのためには、java -Xms200m オプションおよび -Xmx200m オプションを使用してサーバを起動できる。

最高のパフォーマンスを得るには、JVM がヒープのサイズを変更しないように最小値と最大値を同じにする。

パラメータに割り当てられたこれらの値は、WebLogic Server のパフォーマンスに大きく影響する可能性があり、ここでは一般的なデフォルト値としてのみ紹介している。プロダクション環境では、実際のアプリケーションや環境に合った適切なメモリ ヒープ サイズを慎重に判断する必要がある。

-classpath

このオプションで指定する最低限の内容は、クラスパスの設定で説明されている。

注意: classpath がユーザ環境で設定される場合には、このオプションは省略可能。

-Dweblogic.Name=
servername

サーバに名前を割り当てる。

サーバ名はドメイン内でユニークである必要がある。たとえば、DomainA というドメインにあるサーバ インスタンスに ManagedServer1 という名前を付ける場合、DomainA 内の別のサーバ インスタンスに ManagedServer1 と名付けることはできない。

-Dbea.home=bea_home

BEA ホーム ディレクトリの場所を指定する。BEA ホーム ディレクトリには、ライセンス情報などの必要不可欠な情報が格納されている。


 

よく使用される任意指定の引数

次の表には、よく使用される任意指定の引数が示されています。各引数の説明では、その引数を Administration Console やその他の WebLogic Server コマンドを使用して設定することもできるかどうか示されています。MBean (Managed Bean) の属性を設定する引数はすべて、MBean の API を使用して設定することもできます。 Mbean の属性の設定については、その他の任意指定の引数 を参照してください。

表2-3 よく使用される任意指定の引数

引数

説明

-Dweblogic.RootDirectory=path

サーバのルート ディレクトリを指定する。 詳細については、サーバのルート ディレクトリを参照。

-Dweblogic.ConfigFile=
file_name

ドメインのコンフィグレーション ファイルを指定する。file_name の値は、config.dtd に準拠した有効な XML ファイルでなければならない。XML ファイルは、ドメインの管理サーバのルート ディレクトリに存在する必要がある。ルート ディレクトリは、カレント ディレクトリか、または -Dweblogic.RootDirectory で指定したディレクトリ。

file_name 値にはパス名を指定できない。たとえば、次の値は無効となる。

-Dweblogic.ConfigFile=c:¥mydir¥myfile.xml

代わりに次の引数を使用する。

-Dweblogic.RootDirectory=c:¥mydir
-Dweblogic.ConfigFile=myfile.xml

config.dtd については、『コンフィグレーション リファレンス』を参照。

この値を指定しない場合のデフォルトは、config.xml になる。

-Dweblogic.management.
username=
username

ユーザ名を指定する。

ユーザ名は、サーバを起動するパーミッションを持つロールに属していなければならない。ロールとパーミッションについては、システム管理操作の保護 を参照。

このオプションにより、サーバ インスタンスは起動 ID ファイルを一切使用しないようになり、サーバが起動 ID ファイルを使用することになるような他の起動オプションはオーバーライドされる。詳細については、ユーザ名とパスワードのプロンプトの回避を参照。

-Dweblogic.management.
password=
password

ユーザ パスワードを指定する。

このオプションにより、サーバ インスタンスは起動 ID ファイルを一切使用しないようになり、サーバが起動 ID ファイルを使用することになるような他の起動オプションはオーバーライドされる。詳細については、ユーザ名とパスワードのプロンプトの回避を参照。

-Dweblogic.ListenAddress=host

このサーバのリスン アドレスを指定する。host の値は、サーバの DNS 名または IP アドレスのいずれかでなければならない。

このオプションは、ServerMBeanlistenAddress 属性の値を設定する。この属性には、Administration Console からもアクセスできる ([サーバ|コンフィグレーション|一般|リスン アドレス])。

リスン アドレスを指定しない場合、マシンの DNS 名または IP アドレスのいずれかが使用される。

この引数ではなく Administration Console を使用して、確認済みの DNS 名または IP アドレスを指定することを推奨。

詳細については、「ネットワーク リソースのコンフィグレーション」を参照。

-Dweblogic.ListenPort=
portnumber

このサーバのプレーン テキスト (非 SSL) リスン ポートを指定し、有効にする。

この引数は、ServerMBeanlistenPort 属性の値を設定する。この属性には、Administration Console からもアクセスできる ([サーバ|コンフィグレーション|一般|リスン ポート])。

リスン ポートを指定しない場合、デフォルトで 7001 が使用される。

詳細については、「ネットワーク リソースのコンフィグレーション」を参照。

-Dweblogic.ssl.ListenPort=
portnumber

WebLogic Server が SSL 接続リクエストをリスンするポートを指定し、有効にする。

この引数は、SSLMBeanlistenPort 属性の値を設定する。この属性には、Administration Console からもアクセスできる ([サーバ|接続|SSL ポート|SSL リスン ポート])。

リスン ポートを指定しない場合、デフォルトで 7002 が使用される。

詳細については、「ネットワーク リソースのコンフィグレーション」を参照。

-Dweblogic.system.
StoreBootIdentity=true

サーバのルート ディレクトリに boot.properties を作成する。このファイルには、サーバの起動に使用したユーザ名とパスワードの暗号化バージョンが格納される。

詳細については、ユーザ名とパスワードのプロンプトの回避を参照。

-Dweblogic.system.
BootIdentityFile=
filename

ユーザ名とパスワードを格納する起動 ID ファイルを指定する。

filename の値は、有効な起動 ID ファイルの絶対パス名でなければならない。次に例を示す。
-Dweblogic.system.BootIdentityFile=C:¥BEA¥
wlserver7.0¥user_config¥mydomain¥myidentity.prop

ファイル名を指定しない場合、サーバのルート ディレクトリにある boot.properties が使用される。起動 ID ファイルがない場合は、ユーザ名とパスワードの入力が求められる。

-Dweblogic.system.
RemoveBootIdentity=true

サーバの起動後に起動 ID ファイルを削除する。

-Dweblogic.management.
pkpassword=
pkpassword

暗号化されたフラット ファイルからセキュア ソケット レイヤ (SSL) プライベート キーを取得するためのパスワードを指定する。

このオプションは、プライベート キーを暗号化されたフラット ファイルに格納する場合に使用する。

-Dweblogic.security.SSL.
trustedCAKeyStore=
path

SSL を使用する場合、この引数を使用してサーバまたはクライアントで信頼される認証局を指定する。path の値は、Sun JKS キーストア ファイル (キーおよび証明書のリポジトリを格納) への相対パス名または絶対パス名でなければならない。

この引数を指定しない場合、WebLogic Server またはクライアントは、JAVA_HOME¥jre¥lib¥security¥cacerts で指定されているすべての証明書を信頼する。

プロダクション環境でデモ用認証局を使用することは望ましくない。

-Dweblogic.security.SSL.
ignoreHostnameVerification=
true

ホスト名検証を無効にする。

WebLogic Server 付属のデモ用デジタル証明書を使用する場合に、この引数を指定する。

注意: プロダクション環境でデモ用デジタル証明書を使用したり、ホスト名検証を無効にしたりすることは望ましくない。

この引数を指定しない場合、WebLogic Server のホスト名検証では、デジタル証明書の SubjectDN と SSL 接続を開始したサーバのホスト名が比較される。SubjectDN とホスト名が一致しない場合、SSL 接続は中断される。

-Dweblogic.security.SSL.
HostnameVerifier=
hostnameverifierimplmentation

カスタム ホスト名検証クラスの名前を指定する。このクラスは weblogic.security.SSL.HostnameVerifier インタフェースを実装する必要がある。

-Dweblogic.security.SSL.
sessionCache.size=
sessionCacheSize

-Dweblogic.security.SSL.
sessionCache.ttl=
sessionCacheTimeToLive

SSL セッション キャッシングに対するサーバセッション キャッシュのデフォルトのサイズと存続期間を変更する。

sessionCacheSize の値はセッション キャッシュ内の項目数を指定し、sessionCacheTimeToLive の値はセッション キャッシュの存続期間 (秒単位) を指定する。

sessionCache.size の場合、

  • 最小値は 1

  • 最大値は 65537

  • デフォルト値は 211

sessionCache.ttl の場合、

  • 最小値は 1

  • 最大値は Integer.MAX_VALUE

  • デフォルト値は 600

-Djava.security.manager

-Djava.security.policy=
filename

Java 2 セキュリティ マネージャを有効にする。Java 2 セキュリティ マネージャは、ポリシー ファイルで制限されているアクションが、信頼性のないコードによって実行されることを防止する。

-Djava.security.policy 引数は、Java 2 セキュリティ ポリシーを格納するファイル名を、相対パス名または絶対パス名で指定する。

編集して使用できる WebLogic Server のサンプル ポリシー ファイルは、WL_HOME¥server¥lib¥weblogic.policy。 詳細については、『WebLogic Security プログラマーズ ガイド』の「weblogic.policy ファイルの修正」を参照。

-Dweblogic.security.anonymousUserName=guest

ユーザ アカウント guest のサポートを有効にする。この引数を使用して WebLogic Server インスタンスを起動する場合は、デフォルトのセキュリティ レルムの認証プロバイダに guest ユーザを追加しておく必要がある。

詳細については、『WebLogic リソースのセキュリティ』の「ユーザの作成」を参照。

-Dweblogic.management.
startupMode=STANDBY

サーバを起動して、スタンバイ (STANDBY) 状態にする。この起動引数を使用するには、別の管理ポートを使用するようにサーバをコンフィグレーションする必要がある。

管理ポートについては、『WebLogic Server ドメイン管理』の「ドメイン全体の管理ポートのコンフィグレーション」を参照。

この値は、Administration Console の [サーバ|コンフィグレーション|一般] タブで指定された startupMode の値を、現在のセッションに対してのみオーバーライドする。

コマンドラインまたは config.xml のいずれかで、この値を指定しない場合、デフォルトでは実行中 (RUNNING) 状態で起動される。

-Dweblogic.ProductionModeEnabled=
{true | false}

ドメイン内のすべてのサーバがプロダクション モードで起動するかどうかを指定する。 このオプションは、管理サーバを起動する場合にのみ適用できる。 管理対象サーバはすべて、管理サーバと同じモードで起動する。

true を指定すると、WebLogic Server は domain_name/applications ディレクトリにあるアプリケーションを自動的にデプロイおよび更新できなくなる。

このオプションを指定しない場合、値は false と見なされる。

詳細については、開発モードとプロダクション モードを参照。

-Dweblogic.management.
discover={true | false}

管理サーバに障害が発生し、再起動された後、そのサーバがドメインの管理を回復するかどうかを指定する。

true を指定すると、管理サーバはその running-managed-servers.xml ファイルを参照する。このファイルには、デプロイ可能なモジュールのデプロイメント状態に関する情報および現在実行中のすべての管理対象サーバのリストが格納されている。この引数に true を指定して管理サーバを起動すると、管理サーバは管理対象サーバと通信し、実行中であることを管理対象サーバに通知する。

false を指定すると、管理サーバはファイルを参照できず、そのため、ドメイン内で現在アクティブな管理対象サーバと通信できなくなる。

警告: false の値は、単一サーバの開発環境でのみ指定すること。false を指定すると、ドメイン内のサーバ インスタンスが持つデプロイ済みモジュールのセットに整合性がなくなる可能性がある。

このオプションを指定しない場合、値は true と見なされる。

-Dweblogic.Stdout="filename"

サーバおよび JVM の標準出力ストリームをファイルにリダイレクトする。パス名を、完全修飾で指定するか、WebLogic Server のルート ディレクトリからの相対で指定する。

詳細については、System.out および System.err のファイルへのリダイレクトを参照。

-Dweblogic.Stderr="filename"

サーバおよび JVM の標準エラー ストリームをファイルにリダイレクトする。パス名を、完全修飾で指定するか、WebLogic Server のルート ディレクトリからの相対で指定する。

詳細については、System.out および System.err のファイルへのリダイレクトを参照。


 

その他の任意指定の引数

weblogic.Server 起動コマンドの引数を使用して、以下の MBean の属性を設定できます。

MBean がセッター メソッドとして公開している属性を設定できます。上記の構文では、attribute-name は、MBean のセッター メソッドの名前から set プレフィックス除いたものです。

たとえば、ServerMBean は以下のセッター メソッドでそのリスン ポート属性を公開します。

weblogic.Server コマンドでリスン ポートの値を設定するには、次の構文を使用します。 -Dweblogic.ListenPort=portnumber

コマンドライン引数は MBean の現在の設定をオーバーライドします。その設定は、ドメインの config.xml ファイルには保持されません。

開発モードとプロダクション モード

WebLogic Server は、開発環境とプロダクション環境の 2 つの異なるモードで実行できます。開発モードは、アプリケーションをテストする場合に使用します。プロダクション環境への準備が整ったら、プロダクション モードで起動されたサーバにアプリケーションをデプロイします。

開発モードでは、WebLogic Server は domain_name/applications ディレクトリ (domain_name は WebLogic Server ドメインの名前) にあるアプリケーションを自動的にデプロイおよび更新できます。

プロダクション モードでは、自動デプロイメント機能は無効になります。代わりに、WebLogic Server Administration Console または weblogic.Deployer ツールを使用する必要があります。 デプロイメントの詳細については、『WebLogic Server アプリケーションの開発』の「WebLogic Server デプロイメント」を参照してください。

デフォルトでは、WebLogic Server は開発モードで稼働します。サーバのモードを指定するには、以下のいずれかを実行します。

注意: プロダクション モードまたは開発モードはドメイン全体の設定であり、管理サーバの起動時に指定します。 管理対象サーバはすべて、管理サーバと同じモードで実行されます。

管理ポートおよび weblogic.Admin ユーティリティの起動引数

管理ポートとは、サーバ インスタンスを STANDBY 状態で起動する場合、またはドメイン内の管理トラフィックをアプリケーション トラフィックから分離する場合に設定する必要のある個別のポートです。

管理ポートを使用して weblogic.Admin ユーティリティからの要求を実行する場合は、以下のことを行う必要があります。

  1. 『WebLogic Server ドメイン管理』の「ドメイン全体の管理ポートのコンフィグレーション」で説明するように、ドメイン内のすべてのサーバ インスタンスに対して SSL と管理ポートを設定します。

  2. すべてのサーバ インスタンスに対する weblogic.Server コマンドに、以下の起動引数を含めます。
    -Dweblogic.security.SSL.trustedCAKeystore=path
    -Dweblogic.security.SSL.ignoreHostnameVerification=true

サーバのルート ディレクトリ

WebLogic Server のすべてのインスタンスは、ルート ディレクトリを使用して、実行時データを格納したり、サーバのコンフィグレーション内での相対パス名のコンテキストを提供したりします。

また、管理サーバでは、ドメインのコンフィグレーション データ (config.xml など) やセキュリティ リソース (デフォルトの組み込み LDAP サーバなど) のリポジトリとして、ルート ディレクトリを使用します。一方、管理対象サーバでは、レプリケートした管理データをルート ディレクトリに格納します (図 2-2 を参照してください)。

図2-2 WebLogic Server インスタンスのルート ディレクトリ


 

WebLogic Server の複数のインスタンスで、同じルート ディレクトリを使用することもできます。ただし、サーバ インスタンスでルート ディレクトリを共有する場合、すべての相対ファイル名はユニークでなければなりません。たとえば、2 つのサーバが 1 つのディレクトリを共有している場合、両方のサーバで .¥MyLogFile を指定すると、一方のサーバ インスタンスによってもう一方のサーバ インスタンスの .¥MyLogFile が上書きされます。

管理サーバのルート ディレクトリの判別は以下の手順で行われます。

管理対象サーバのルート ディレクトリの判別は以下の手順で行われます。

WebLogic Server ソフトウェアがアップグレードされてもドメイン コンフィグレーションとアプリケーションを簡単に維持できるようにするには、ルート ディレクトリを WebLogic Server ソフトウェアのインストール ディレクトリとは別のディレクトリにします。

デフォルト コンフィグレーションを使用したサーバの起動

使用している環境で問題が発生し、サーバをデフォルトのコンフィグレーションで起動する場合は、新しい config.xml ファイルを生成する方法で WebLogic Server を起動できます。

この新しい config.xml ファイルには、コマンドライン引数を使用してデフォルト値をオーバーライドしない限り、デフォルトの設定のみが格納されます。サーバの起動時に入力したユーザ名とパスワードが、デフォルトの管理ユーザとなります。

サーバは新しいドメインの管理サーバとして起動されます。このドメインには他のサーバはなく、また、デプロイメントもサードパーティ製ソリューションもありません。それらは任意の WebLogic ドメインに追加するのと同じように追加できます。

WebLogic Server で新しい config.xml ファイルを生成するには、config.xml ファイルがまだ格納されていないルート ディレクトリを使用して管理サーバを起動します。たとえば次のようにします。

  1. デフォルトのコンフィグレーション用に新しいディレクトリを作成します。

  2. そのディレクトリに移動し、コマンド シェルで次のコマンドを入力します。
    WL_HOME¥server¥bin¥setWLSEnv.cmd (Windows)
    WL_HOME/server/bin/setWLSEnv.sh (UNIX)

  3. 次のコマンドを入力します。

    java weblogic.Server

  4. 要求されたら、ユーザ名とパスワードを入力します。このユーザがドメインのデフォルトの管理ユーザとなります。

  5. 新しいデフォルト コンフィグレーションを作成するよう求められたら、y を入力します。

パスワードの再入力が要求されます。新しいコンフィグレーションでサーバが起動されます。

 


管理対象サーバの起動

WebLogic Server を管理対象サーバとして実行する前に、以下のことを行っておく必要があります。

この節では、管理対象サーバのドメインへの追加方法を説明してから、管理対象サーバの起動について説明します。管理対象サーバを起動するには、以下の中から必要なタスクを行います。

管理サーバが使用できない場合の管理対象サーバの起動については、『WebLogic Server ドメイン管理』の「管理サーバにアクセスできない場合の管理対象サーバの起動」を参照してください。

管理対象サーバのドメインへの追加

管理対象サーバをドメインに追加するには、次の手順に従います。

  1. ドメインの管理サーバを起動します。

  2. ブラウザで http://hostname:port/console を指定して Administration Console を起動します。hostname は管理サーバが動作しているマシンの名前、port は管理サーバでコンフィグレーションされているリスン ポート番号 (デフォルトは 7001) です。

  3. サーバが管理サーバとは異なるマシンで実行されている場合は、次の手順に従います。

    1. Administration Console の左ペインで、[マシン] ノードをクリックします。

    2. 右ペインで [新しい Machine のコンフィグレーション] をクリックします。

    3. 名前を入力し、[作成] をクリックします。

  4. 左ペインで、[サーバ] ノードをクリックします。

  5. 右ペインで [新しい Server のコンフィグレーション] をクリックし、次の手順に従います。

    1. サーバの名前を入力します。

      ドメイン内の各サーバの名前はユニークでなければなりません。

    2. マシンを作成した場合は、この管理対象サーバ用のマシンを選択します。

    3. [作成] をクリックします。

  6. このサーバに管理チャネルを設定する場合は、『WebLogic Server ドメイン管理』の「ドメイン全体の管理ポートのコンフィグレーション」を参照してください。

Windows の [スタート] メニューからの管理対象サーバの起動

コンフィグレーション ウィザードを使用して、Windows コンピュータ上で (管理サーバのコンフィグレーションと共に) 管理対象サーバを作成すると、Windows の [スタート] メニューにドメインをインストールするよう求められます。インストールすることを選択した場合は、次の手順に従って管理対象サーバを起動できます。

Windows のデスクトップから、[スタート|プログラム|BEA WebLogic Platform 7.0|User Projects|domain_name|Start Server] をクリックします。

コマンド ウィンドウが開き、スクリプト domain_name¥startManagedWebLogic.cmd が呼び出されます。このスクリプトについてはスクリプトを使用した管理対象サーバの起動で説明します。 サーバが正常に起動プロセスを完了すると、コマンド ウィンドウに次のメッセージが表示されます。

<Notice> <WebLogicServer> <000360> <Server started in RUNNING mode>

スクリプトを使用した管理対象サーバの起動

コマンドラインから WebLogic Server を起動するために必要な引数は長くなる場合があり、エラーが発生しやすくなるので、コマンドをスクリプトに組み込むことをお勧めします。

この節では、以下のタスクについて説明します。

WebLogic Server とともにインストールされる JVM を使用していない場合は、WebLogic Server でのデフォルト以外の JVM の使用を参照してください。

コンフィグレーション ウィザード スクリプトを使用した管理対象サーバの起動

コンフィグレーション ウィザードを使用してドメインを作成すると、管理対象サーバの起動に使用できるスクリプトも作成されます。

管理サーバを起動するスクリプトと同様、startManagedWebLogic スクリプトも一部のドメイン固有の変数の値を設定します。ただし、startManagedWebLogic では、ドメインの管理サーバのリスン アドレスも指定します。これにより、サーバは管理対象サーバとして実行され、管理サーバからコンフィグレーションを取得できるようになります。

startManagedWebLogic を使用する前に、テキスト エディタでスクリプトを開き、SERVER_NAME 変数が、起動する WebLogic 管理対象サーバの名前に設定されていることを確認してください。ADMIN_URL には、管理サーバのホスト (ホスト名または IP アドレス) とリスン ポート番号 (デフォルトは 7001) が指定されていることも確認してください。次に例を示します。

set SERVER_NAME=bigguy
set ADMIN_URL=peach:7001

startManagedWebLogic を開いて修正する代わりに、以下のいずれかのコマンドを入力することもできます。

たとえば、次のコマンドは startWebLogic.cmd を使用して、ポート 7001 でリスンしている peach という管理サーバから myManagedServer という管理対象サーバを起動します。

c:¥user_domains¥mydomain¥startWebLogic.cmd myManagedServer http://peach:7001 

startManagedWebLogic で指定できる変数と Java オプションの詳細については、スクリプトを使用した管理サーバの起動表 2-1 を参照してください。

管理サーバへの接続のコンフィグレーションに関する詳細については、管理サーバへの接続のコンフィグレーションを参照してください。

サーバが正常に起動プロセスを完了すると、コマンド ウィンドウに次のメッセージが表示されます。

<Notice> <WebLogicServer> <000360> <Server started in RUNNING mode>

管理対象サーバを起動する独自のスクリプトの作成

Administration Console など別の方法でドメインを作成する場合は、ドメインの管理対象サーバを起動する独自の起動スクリプトを作成できます。 独自にスクリプトを作成する手順は、管理サーバを起動する独自のスクリプトの作成で説明されている手順に、次の作業を追加したものになります。

ADMIN_URL 変数の値を設定する必要があります。 管理サーバへの接続のコンフィグレーションについては、管理サーバへの接続のコンフィグレーションを参照してください。

サーバが正常に起動プロセスを完了すると、コマンド ウィンドウに次のメッセージが表示されます。

<Notice> <WebLogicServer> <000360> <Server started in RUNNING mode>

コマンドラインからの管理対象サーバの起動

コマンドラインから WebLogic 管理対象サーバを起動する場合は、管理サーバの起動に使用するコマンドと引数に、管理サーバへの接続をコンフィグレーションする以下のいずれかの引数を追加します。

管理サーバへの接続のコンフィグレーションについては、管理サーバへの接続のコンフィグレーションを参照してください。

管理サーバの起動に使用するコマンドと引数については、weblogic.Server コマンドの使用を参照してください。

サーバが正常に起動プロセスを完了すると、コマンド ウィンドウに次のメッセージが表示されます。

<Notice> <WebLogicServer> <000360> <Server started in RUNNING mode>

管理サーバへの接続のコンフィグレーション

Windows の [スタート] メニュー、スクリプト、weblogic.Server コマンド、いずれの方法で管理対象サーバを起動する場合でも、管理サーバの適切なリスン アドレスが指定されていることを確認する必要があります。管理対象サーバは、このアドレスを使用して管理サーバからコンフィグレーションを取得します。

注意: 初めて管理対象サーバを起動するときは、管理サーバにアクセスできなければなりません。その後は、管理サーバが使用できない場合でも起動するよう管理対象サーバをコンフィグレーションできます。 詳細については、『WebLogic Server ドメイン管理』の「管理サーバにアクセスできない場合の管理対象サーバの起動」を参照してください。

リスン アドレスは、以下の形式のいずれかを使用して指定できます。

管理対象サーバは管理サーバからコンフィグレーションを受信するので、指定する管理サーバは管理対象サーバと同じドメインになければなりません。

デフォルトの起動状態の指定

weblogic.Server コマンド (またはこのコマンドを実行するスクリプト) で起動する場合に、デフォルトでスタンバイ (STANDBY) 状態で起動するようサーバを設定するには、次の手順に従います (サーバをスタンバイ状態で起動するには、サーバに管理ポートを設定する必要があります)。

  1. Administration Console の左ペインで [サーバ] ノードを展開します。[サーバ] ノードの下に、サーバのリストが表示されます。

  2. 左ペインで特定のサーバを選択します。

  3. [一般] タブの [起動モード] フィールドで、「STANDBY」と入力します。

  4. [適用] をクリックして変更を保存します。

リモート管理対象サーバの起動

管理対象サーバのホスト マシン上でノード マネージャが実行されている場合は、Administration Console または weblogic.Admin ユーティリティを使用してリモート ホストから管理対象サーバを起動できます。ノード マネージャは、WebLogic Server 付属のスタンドアロンの Java プログラムであり、リモートの管理対象サーバを起動および停止できます。

Administration Console からのリモート サーバの起動については、Administration Console オンライン ヘルプの「サーバの起動」および「STANDBY 状態でのサーバの起動」を参照してください。

weblogic.Admin コマンド ユーティリティの使用方法については、STARTおよびSTARTINSTANDBYを参照してください。

ノード マネージャについては、『WebLogic Server ドメイン管理』の「ノード マネージャによるサーバの可用性の管理」を参照してください。

ドメインまたはクラスタ内のすべての WebLogic Server の起動および強制停止

管理対象サーバのホスト マシン上でノード マネージャが実行されている場合は、Administration Console を使用して、ドメインまたは特定のクラスタ内のすべての管理対象サーバを起動できます。管理サーバを Administration Console から起動することはできません。

また、Administration Console を使用して、ドメインまたはクラスタ内のすべての WebLogic Server を強制停止することもできます。強制停止コマンドは、管理対象サーバおよび管理サーバに対して強制的な停止を開始します。ノード マネージャは必要ありません。

この節では、以下のタスクについて説明します。

ノード マネージャについては、『WebLogic Server ドメイン管理』の「ノード マネージャによるサーバの可用性の管理」を参照してください。

ドメイン内のすべての管理対象サーバの起動

アクティブなドメイン内のすべての管理対象サーバを起動するには、次の手順に従います。

  1. ドメインの管理サーバを起動します。

  2. ドメイン内のすべてのマシンでノード マネージャを起動します。詳細については、『WebLogic Server ドメイン管理』の「ノード マネージャの起動」を参照してください。

  3. Administration Console の左ペインで、アクティブなドメインの名前を右クリックします。

  4. [このドメインを開始...] を選択します。

  5. 強制停止の確認を求めるメッセージが表示されたら [はい] をクリックします。

    Administration Console に、そのドメイン内の各 WebLogic Server の名前を表示したページが表示されます。

  6. サーバの起動処理の結果を参照するには、そのサーバの名前をクリックします。

クラスタ内のすべての管理対象サーバの起動

クラスタ内のすべての管理対象サーバを起動するには、次の手順に従います。

  1. ドメインの管理サーバを起動します。

  2. クラスタ内のすべてのマシンでノード マネージャを起動します。 詳細については、『WebLogic Server ドメイン管理』の「ノード マネージャの起動」を参照してください。

  3. Administration Console の左ペインで、クラスタの名前を右クリックします。

  4. [このクラスタを開始...] を選択します。

  5. 強制停止の確認を求めるメッセージが表示されたら [はい] をクリックします。

    Administration Console に、そのクラスタ内の各管理対象サーバの起動タスクの状態を表示する [タスク] ページが表示されます。

  6. 起動タスクの状態の詳細を参照するには、[タスク] ページでその起動タスクの名前をクリックしてから [詳細] タブをクリックします。

ドメイン内のすべてのサーバの強制停止

ドメイン内のすべてのサーバに対して強制停止を開始するには、次の手順に従います。

  1. Administration Console の左ペインで、クラスタの名前を右クリックします。

  2. [このクラスタを強制停止...] を選択します。

  3. 強制停止の確認を求めるメッセージが表示されたら [はい] をクリックします。

    管理サーバおよび管理対象サーバは即座にすべての作業を中断し、停止します。管理対象サーバが応答しない場合や、ノード マネージャを使用してサーバを起動した場合は、ノード マネージャによってサーバが強制停止されます。

  4. ドメインが強制停止されたことを確認するには、管理サーバを実行しているシェル プロセスで出力を参照します。停止シーケンスが開始された後、プロセスが中止されたことを示す ALERT メッセージが表示されます。

クラスタ内のすべてのサーバの強制停止

クラスタ内のサーバに対して強制停止を開始するには、次の手順に従います。

  1. Administration Console の左ペインで、クラスタの名前を右クリックします。

  2. [このクラスタを強制停止...] を選択します。

  3. 強制停止の確認を求めるメッセージが表示されたら [はい] をクリックします。

    クラスタ内のすべてのサーバは即座にすべての作業を中断し、停止します。管理対象サーバが応答しない場合や、ノード マネージャを使用してサーバを起動した場合は、ノード マネージャによってサーバが強制停止されます。

  4. クラスタが強制停止されたことを確認するには、次のいずれかの手順に従います。

    • 管理サーバがクラスタに含まれていない場合は、左ペインで [タスク] ノードをクリックします。 [タスク] ページでその停止タスクの名前をクリックしてから [詳細] タブをクリックします。

    • 管理サーバがクラスタに含まれている場合は、管理サーバを実行しているシェル プロセスで出力を参照します。停止シーケンスが開始された後、プロセスが中止されたことを示す ALERT メッセージが表示されます。

 


WebLogic Server の停止

以下のいずれかの方法で、WebLogic Server を停止できます。

正常な停止を開始すると、サーバはサブシステムに作業中のすべてのリクエストを完了するように指示します。サブシステムが作業を完了した後、サーバは停止します。

強制停止を開始すると、サーバはサブシステムに作業中のリクエストを即座に中断するように指示します。管理対象サーバが応答しない場合や、ノード マネージャを使用してサーバを起動した場合は、ノード マネージャによってサーバが強制停止されます。

サーバは、すべてのサブシステムが正常に停止するのを設定されている秒数まで待ちます。時間が経過すると、サーバは以下のいずれかの処理を行います。

デフォルトの秒数の変更については、Administration Console オンライン ヘルプの「ライフサイクル オペレーションのタイムアウト設定」を参照してください。

 


起動クラスと停止クラスのコンフィグレーション

起動クラスと停止クラスを使用すると、サーバの起動時や正常な停止時にタスクを実行するよう、WebLogic Server をコンフィグレーションできます。起動クラスは、WebLogic Server が起動または再起動するときに自動的にロードされて実行される Java プログラムです。

デフォルトでは、起動クラスは、他のサーバ サブシステムが初期化され、サーバがモジュールをデプロイした後に、自動的にロードされて実行されます。 起動クラスに対しては、デフォルトをオーバーライドして、サーバが JDBC 接続プール、Web アプリケーション、および EJB をデプロイする前にロードされ実行されるよう指定することもできます。

停止クラスは、Administration Console または weblogic.admin shutdown コマンドで WebLogic Server が停止されるときに自動的にロードされて実行される Java プログラムです。サーバが起動クラスと停止クラスを呼び出す時期に関する詳細については、サーバのライフサイクルを参照してください。

起動クラスまたは停止クラスを使用するには、それらのクラスをコンフィグレーションし、サーバに割り当てる必要があります。 Administration Console でクラスをコンフィグレーションするには、Administration Console オンライン ヘルプの「起動クラスと停止クラス」を参照してください。

 


WebLogic Server インスタンスの Windows サービスとしての設定

Windows ホスト コンピュータの起動時に WebLogic Server インスタンスを自動的に起動する場合は、サーバを Windows サービスとして設定します。

Windows サービスとして設定した各サーバ インスタンスに対して、Windows レジストリの HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Services にキーが作成されます。レジストリ エントリには、サーバの名前などの起動引数の情報が格納されます。

Windows ホストを起動すると、Windows オペレーティング システムの一部である Windows サービス コントロール マネージャ (SCM) は、Windows レジストリ キーの情報を使用して、weblogic.Server メイン クラスを呼び出します。Windows SCM は、管理サーバの起動にノード マネージャを使用するようにはコンフィグレーションできません。したがって、Windows サービスとして実行されるサーバでは、ノード マネージャのモニタ機能および自動再起動機能を使用できません。

以下のタスクにより、Windows サービスとして実行される WebLogic Server インスタンスを設定および管理できます。

Windows サービスの設定 : 主な手順

Windows サービスを設定するには、次の手順に従います。

  1. 以下のいずれかを実行します。

    • ドメイン コンフィグレーション ウィザードでサーバを Windows サービスとしてインストールするプロンプトが表示されたら、[はい] を選択します。

      ドメイン コンフィグレーション ウィザードの一部のドメイン テンプレートでは、サーバを Windows サービスとして設定することを求められます。[はい] を選択すると、ウィザードはサーバを Windows サービスとしてインストールします。管理サーバおよび管理対象サーバの作成にウィザードを使用した場合、Windows サービスは管理サーバについてのみ作成されます。ウィザードはまた、サーバ固有のスクリプトを作成します。これを修正して、他のサーバを Windows サービスとしてインストールするために使用できます。このスクリプトは domain-name¥installService.cmd という名前を付けられます。domain-name は、作成したドメインの名前を表します。

    • サーバ固有の変数の値を設定するスクリプトを作成してから、WebLogic Server マスター スクリプトを呼び出します。 詳細については、サーバ固有のスクリプトの作成を参照してください。

  2. 管理対象サーバを Windows サービスとしてインストールする場合、サーバ固有のスクリプトに追加の変数を設定する必要があります。 詳細については、管理対象サーバのその他の値の設定を参照してください。

  3. 同じコンピュータ上で管理サーバと管理対象サーバの両方を Windows サービスとして実行するように設定する場合、管理サーバの起動サイクル完了後にのみ管理対象サーバが起動するようにマスター スクリプトを修正することができます。 詳細については、管理サーバより後に管理対象サーバを起動する要求を参照してください。

  4. Windows コントロール パネルを使用して Windows サービスを停止する際に、サーバ インスタンスを正常に停止するには、Java クラスを作成して、Windows SCM がそのクラスを呼び出すようにマスター スクリプトを修正します。 詳細については、コントロール パネルからの正常な停止の有効化を参照してください。

  5. サーバ インスタンスが標準出力および標準エラーに出力するメッセージ (スタック トレースおよびスレッド ダンプを含む) を表示できるようにするには、標準出力および標準エラーをファイルにリダイレクトします。 詳細については、標準出力および標準エラーのファイルへのリダイレクトを参照してください。

  6. WebLogic Server インスタンスで呼び出す Java クラスを他にも作成した場合は、これらをサーバのクラスパスに追加する必要があります。 詳細については、クラスのクラスパスへの追加を参照してください。

  7. サーバ固有のスクリプトを実行します。 詳細については、サーバ固有のスクリプトの実行を参照してください。

サーバ固有のスクリプトの作成

ドメイン コンフィグレーション ウィザードでドメインのサーバ固有のスクリプトが既に作成されていない場合は、自分で作成する必要があります。このスクリプトでは、サーバ インスタンス名などサーバ固有の情報を識別する変数値を設定します。その後、スクリプトはマスター スクリプト WL_HOME¥server¥bin¥installSvc.cmd を呼び出します。WL_HOME は、WebLogic Server をインストールしたディレクトリです。マスター スクリプトは beasvc ユーティリティを呼び出します。これにより、Windows レジストリにキーが追加されます。

注意: beasvc の詳細を参照するには、コマンド プロンプトでコマンド WL_HOME¥server¥bin¥beasvc -help を入力します。WL_HOME は、WebLogic Server のインストール先ディレクトリです。

サーバ固有のスクリプトの例は、リスト2-1 を参照してください。

サーバ固有のスクリプトを作成するには、次の手順に従います。

  1. ドメインの管理サーバのルート ディレクトリ (ドメインの config.xml ファイルが格納されているディレクトリ) に、テキスト ファイルを作成します。

  2. 以下の必須 batch コマンドをテキスト ファイルに追加します。コマンドはそれぞれ別の行に記述します。

    • SETLOCAL

      これは、バッチ ファイル内の環境変数のローカライゼーションを開始する batch コマンドです。

    • set DOMAIN_NAME=domain-name

      domain-name は、使用している WebLogic Server の名前を表します。

    • set USERDOMAIN_HOME=absolute-pathname

      absolute-pathname は、管理サーバのルート ディレクトリ (ドメインのコンフィグレーション ファイルが格納されているディレクトリ) の絶対パス名を表します。 サーバのルート ディレクトリの詳細については、サーバのルート ディレクトリを参照してください。

    • set SERVER_NAME=server-name

      server-name は、Windows サービスとして設定する既存のサーバ インスタンスの名前を表します。

  3. 以下の省略可能な batch コマンドをテキスト ファイルに追加します。各コマンドは別々の行に入れます。

    • set WLS_USER=username
      set WLS_PW=password

      username は、サーバ インスタンスを起動する特権を持つ既存ユーザ名です。password は、そのユーザのパスワードです。beasvc ユーティリティは、ログイン資格を暗号化し、Windows レジストリに格納します。

      これは、サーバ インスタンス起動時にユーザ名とパスワードの入力が求められないようにするための、2 つある方法のうちの 1 つです。この方法の短所は、サーバ インスタンスのユーザ名またはパスワードを変更すると、Windows サービスを削除して新しいユーザ名とパスワードで新しい Windows サービスを設定しなければならないことです。この方法を使用する代わりに、起動 ID ファイルを使用できます。起動 ID ファイルを使うと、Windows サービスを修正する必要なしにログイン資格を変更できます。 詳細については、ユーザ名とパスワードのプロンプトの回避を参照してください。

    • set STARTMODE=[true]

      STARTMODE 変数が true に設定されていると、サーバ インスタンスはプロダクション モードで起動します。指定されていないか、false に設定されている場合は、サーバは開発モードで起動します。 開発モードおよびプロダクション モードの詳細については、開発モードとプロダクション モードを参照してください。

    • set JAVA_OPTIONS=java-options

      java-options は、Java 仮想マシン (JVM) に渡す 1 つまたは複数の Java 引数です。複数の引数はスペースで区切ります。 WebLogic Server 固有の Java オプションのリストについては、weblogic.Server コマンドの構文を参照してください。使用する JVM は追加のオプションをサポートしており、JVM ベンダによってドキュメント化されています。

    • set JAVA_VM=-JVM-mode

      JVM-mode は、JVM を実行するモードを示すテキスト文字列です。指定する値は、使用している JVM によって変わります。JRockit JVM を使用している場合、デフォルト値は、-jrockit です。 詳細については、『JRockit User Guide』の「Starting and Configuring the JRockit JVM」を参照してください。

      サポートされている JVM の一覧については、http://edocs.beasys.co.jp/e-docs/wls/certifications/certs_700/overview.html の「サポート対象プラットフォームの一覧」を参照してください。

    • set MEM_ARGS=[-XmsNumberm] [-XmxNumberm]

      Number は、メガバイト (MB) による数値です。-XmsNumberm 引数では、JVM の最小ヒープ サイズを設定します。-XmxNumberm では、最大ヒープ サイズを設定します。デフォルトでは、最小ヒープ サイズは 23 MB、最大ヒープ サイズは 200 MB です。

  4. 以下の必須コマンドを、スクリプトの最後に追加します。

    • call "WL_HOME¥server¥bin¥installSvc.cmd"

      WL_HOME は WebLogic Server をインストールしたディレクトリの絶対パス名です。このコマンドは、WebLogic Server のマスター スクリプトを呼び出します。

    • ENDLOCAL

      これは、バッチ ファイル内の環境変数のローカライゼーションを終了する batch コマンドです。

  5. テキスト ファイルの拡張子を .cmd にして保存します。デフォルトでは、Windows のコマンド プロンプトで拡張子 .cmdbatch ファイルが関連付けされています。

管理対象サーバのその他の値の設定

管理対象サーバを Windows サービスとしてインストールする場合は、ドメインの管理サーバの場所を指定する変数を含める必要があります。管理対象サーバは、管理サーバに接続してコンフィグレーション データを取得する必要があります。

管理対象サーバのその他の値を設定するには、以下の手順に従います。

  1. テキスト エディタで、サーバ固有のスクリプトを開きます。

    ドメイン コンフィグレーション ウィザードで作成したスクリプトを修正する場合は、domain-name¥installService.cmd (domain-name は作成したドメインの名前) のコピーを作成し、そのコピーを開くことをお勧めします。

  2. テキスト ファイルで、SETLOCAL コマンドと call コマンドの間に、以下のコマンドを作成します。

    set ADMIN_URL=protocol://listen-address:listen-port

    各要素の説明は次のとおりです。

    • protocol は、http または https

    • listen-address は、管理サーバのリスン アドレス

    • listen-port は、管理サーバのポート

    詳細については、管理サーバへの接続のコンフィグレーションを参照してください。

    たとえば、リスト2-1 の太字部分を参照してください。

  3. サーバ固有のスクリプトへの変更を保存します。

コード リスト 2-1 サーバを Windows サービスとして設定するためのスクリプト例

echo off
SETLOCAL
set DOMAIN_NAME=myWLSdomain 
set USERDOMAIN_HOME=d:¥bea¥user_projects¥myWLSdomain
set SERVER_NAME=myWLSserver
set STARTMODE=true
set JAVA_OPTIONS=-Dweblogic.Stdout="d:¥bea¥user_projects¥myWLSdomain¥stdout.txt" -Dweblogic.Stderr="d:¥bea¥user_projects¥myWLSdomain¥stderr.txt"
set ADMIN_URL=http://adminserver:7501 
set MEM_ARGS=-Xms40m -Xmx250m
call "d:¥bea¥weblogic700¥server¥bin¥installSvc.cmd"
ENDLOCAL

管理サーバより後に管理対象サーバを起動する要求

同じコンピュータ上で管理サーバと管理対象サーバの両方を Windows サービスとして実行するように設定する場合、管理サーバが起動した後にだけ管理対象サーバが起動するように指定することができます。

管理対象サーバが管理サーバの Windows サービスより後に起動するように要求するには、以下の手順に従います。

  1. WL_HOME¥server¥bin¥installSvc.cmd マスター スクリプトのバックアップ コピーを作成します。

  2. すでに管理サーバを Windows サービスとしてインストールしている場合は、そのサービスを削除してください。 詳細については、Windows サービスとしてのサーバの削除を参照してください。

  3. 管理サーバを Windows サービスとしてインストール (または再インストール) する前に、以下を実行してください。

    1. テキスト エディタで、WL_HOME¥server¥bin¥installSvc.cmd マスター スクリプトを開きます。

      このスクリプトの最後のコマンドにより beasvc が呼び出されます。これは、Windows レジストリを変更する WebLogic Server ユーティリティです。

    2. installSvc.cmd で、beasvc ユーティリティを呼び出すコマンドに、以下の引数を追加します。

      -delay:delay_milliseconds

    この引数には、サービスの状態が Windows SCM によって SERVER_START_PENDING から STARTED に変更されるのを待機する時間をミリ秒単位で指定します。

    たとえば、管理サーバが起動サイクルを完了してリクエストのリスンを開始するのに 2 分かかる場合は -delay=120000 と指定します。 この場合、Windows ホスト コンピュータを起動すると、Windows SCM は状態として SERVER_START_PENDING を 2 分間報告した後 STARTED に変更します。

    管理サーバの beasvc 呼び出しは、変更後には次のようになります。

    "%WL_HOME%¥server¥bin¥beasvc" -install
    -svcname:"%DOMAIN_NAME%_%SERVER_NAME%"
    -delay:120000
    -javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%"
    -extrapath:"%WL_HOME%¥server¥bin" -password:"%WLS_PW%"
    -cmdline:%CMDLINE%

    beasvc の詳細を参照するには、コマンド プロンプトでコマンド WL_HOME¥server¥bin¥beasvc -help を入力します。WL_HOME は、WebLogic Server のインストール先ディレクトリです。

  4. 管理サーバ Windows サービスをインストールします。

  5. 管理対象サーバを Windows サービスとしてインストールする前に、以下を実行します。

    1. テキスト エディタで、WL_HOME¥server¥bin¥installSvc.cmd マスター スクリプトを開きます。

    2. installSvc.cmd で、beasvc ユーティリティを呼び出すコマンドに、以下の引数を追加します。

      -depend:Administration-Server-service-name

      Administration-Server-service-name は、管理サーバ Windows サービスの名前です。 サービス名を確認するには、Windows サービスのコントロール パネルを参照します。

    このオプションを指定すると、管理サーバ Windows サービスの状態が STARTED になってから、管理対象サーバ Windows サービスが起動されます。

    たとえば、管理対象サーバの beasvc 呼び出しは、変更後には次のようになります。

    "%WL_HOME%¥server¥bin¥beasvc" -install
    -svcname:"%DOMAIN_NAME%_%SERVER_NAME%"
    -depend:"myDomain_myAdminServer"
    -javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%"
    -extrapath:"%WL_HOME%¥server¥bin" -password:"%WLS_PW%"
    -cmdline:%CMDLINE%

    管理対象サーバ Windows サービスの状態が STARTED と報告されたときにコンフィグレーションしたい場合は、サービスに -delay:delay_milliseconds オプションを追加することも可能です。

コントロール パネルからの正常な停止の有効化

デフォルトでは、Windows コントロール パネルを使用してサーバ インスタンスを停止すると、Windows サービス コントロール マネージャ (SCM) がサーバの Java 仮想マシン (JVM) を強制停止します。JVM を強制停止すると、サーバは直ちにすべての処理を終了します。セッション データはすべて失われます。サーバが config.xml ファイルへの書き込みを行っている間に管理サーバの JVM を強制停止すると、config.xml ファイルが破損する可能性があります。

Windows コントロール パネルから正常に停止を実行できるようにするには、次の手順に従います。

  1. weblogic.management.runtime.ServerRuntime.shutdown() メソッドを呼び出す Java クラスを作成します。

    このメソッドにより、サーバは処理中の全作業を完了後に正常に停止されます。 そのようなクラスの例は、サーバ インスタンスを停止する Java クラス を参照してください。

  2. WL_HOME¥server¥bin¥installSvc.cmd マスター スクリプトのバックアップ コピーを作成します。

  3. テキスト エディタで、WL_HOME¥server¥bin¥installSvc.cmd マスター スクリプトを開き、以下の処理を実行します。

    1. 作成したクラスを set CLASSPATH 文に追加します。

      たとえば、c:¥myJar という名前のファイルにクラスをアーカイブした場合、修正後の文は以下のようになります。
      set CLASSPATH=%JAVA_HOME%¥lib¥tools.jar;%WL_HOME%¥server¥lib¥weblogic_sp.jar;%WL_HOME%¥server¥lib¥weblogic.jar;c:\myJar;%CLASSPATH%

    2. スクリプトの最終行に、beasvc ユーティリティを呼び出す以下の引数を追加します。
      -stopclass:javaclass
      javaclass
      は、作成したクラスの完全なクラスパス名です。この引数により javaclass がロードされ、その後 public void static stop() メソッドが呼び出されます。

      たとえば、サーバ インスタンスを停止する Java クラスに記載のクラスを com.myClasses にパッケージ化する場合、修正後の beasvc コマンドは以下のようになります。
      修正後の beasvc の呼び出しは以下に類似したものとなります。

      "%WL_HOME%¥server¥bin¥beasvc" -install
      -svcname:"%DOMAIN_NAME%_%SERVER_NAME%"
      -stopclass:com.myClasses.ServerStopper
      -javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%"
      -extrapath:"%WL_HOME%¥server¥bin" -password:"%WLS_PW%"
      -cmdline:%CMDLINE%

      beasvc の詳細を参照するには、コマンド プロンプトでコマンド WL_HOME¥server¥bin¥beasvc -help を入力します。WL_HOME は、WebLogic Server のインストール先ディレクトリです。

  4. Windows SCM で指定されているデフォルトのタイムアウト値の修正を検討します。

    デフォルトでは、Windows 2000 のコントロール パネルを使用して Windows サービスを停止する場合、Windows SCM はサービスの停止を 30 秒間待機してからサービスを強制終了し、システムのイベント ログにタイムアウト メッセージを出力します。

    -stopclass を使用してサーバを正常に停止する場合は、サーバが処理を正常に終了するまでにかかる時間は 30 秒を超える可能性があります。

    Windows 2000 でタイムアウト期間をコンフィグレーションするには、次のレジストリ キーに ServicesPipeTimeout という名前の REG_DWORD レジストリ値を作成します。
    HKEY_LOCAL_MACHINE¥System¥CurrentControlSet¥Control

    キー値の単位はミリ秒とします。

    この値は、Windows オペレーティング システムの起動中にレジストリから読み込まれ、インストールされているすべてのサービスに影響を及ぼします。

  5. WebLogic Server のマスター スクリプトへの変更を保存します。

サーバ インスタンスを停止する Java クラス

以下の Java クラスは、サーバ インスタンスの停止に Java Management Extensions (JMX) を使用します。各サーバは、JMX Managed Bean (MBean) を使用して、管理の属性および操作を公開します。そのような MBean の 1 つである ServerRuntime では、サーバを正常に停止する shutdown() メソッドが公開されています。

リスト2-2 に記載のクラスは、管理 MBeanHome インタフェースを使用します。これは、ドメイン内のすべてのサーバ インスタンスの ServerRuntime MBean 操作を取得し、呼び出すことができます。

JMX プログラミングの詳細については、『WebLogic JMX Service プログラマーズ ガイド』を参照してください。

コード リスト 2-2 サーバ インスタンスを停止する Java クラス

import java.util.Set;
import java.util.Iterator;
import java.rmi.RemoteException;
import javax.naming.*;
import weblogic.jndi.Environment;
import weblogic.management.MBeanHome;
import javax.management.ObjectName;
import weblogic.management.WebLogicMBean;
import weblogic.management.configuration.ServerMBean;
import weblogic.management.runtime.ServerRuntimeMBean;
import weblogic.management.WebLogicObjectName;
public class ServerStopper {
public static void stop() throws Exception {
MBeanHome home = null;
    //管理サーバの url
String url = "t3://qa113:7001";
String username = "system";
String password = "gumby1234";
ServerRuntimeMBean serverRuntime = null;
Set mbeanSet = null;
Iterator mbeanIterator = null;
    try {
// ContextClassloader を設定してアサーションを防止
URL[] urls = { new File("/").toURL() };
Thread.currentThread().setContextClassLoader(new
URLClassLoader(urls));
      Environment env = new Environment();
env.setProviderUrl(url);
env.setSecurityPrincipal(username);
env.setSecurityCredentials(password);
Context ctx = env.getInitialContext();
home = (MBeanHome)
ctx.lookup("weblogic.management.adminhome");
mbeanSet = home.getMBeansByType("ServerRuntime");
mbeanIterator = mbeanSet.iterator();
      while(mbeanIterator.hasNext()) {
serverRuntime = (ServerRuntimeMBean)mbeanIterator.next();
if(serverRuntime.getState().equals("RUNNING")) {
serverRuntime.shutdown();
}
}
    } catch (Exception e) {
e.printStackTrace();
}
}
}

標準出力および標準エラーのファイルへのリダイレクト

WebLogic Server インスタンスを Windows サービスとしてインストールした場合、デフォルトでは、サーバまたはその JVM が標準出力および標準エラーに出力したメッセージを表示することはできません。

これらのメッセージを表示できるようにするには、標準出力および標準エラーをファイルにリダイレクトする必要があります。

  1. WL_HOME¥server¥bin¥installSvc.cmd マスター スクリプトのバックアップ コピーを作成します。

  2. テキスト エディタで、WL_HOME\server\bin\installSvc.cmd マスター スクリプトを開きます。

  3. installSvc.cmd スクリプトの最後のコマンドは beasvc ユーティリティを呼び出します。 beasvc コマンドの最後に、次のコマンド オプションを追加します。

    -ejbJar pathname
    pathname は、サーバの標準出力と標準エラーのメッセージを格納するファイルの絶対パスとファイル名です。

    修正後の beasvc の呼び出しは以下のようになります。

    "%WL_HOME%¥server¥bin¥beasvc" -install
    -svcname:"%DOMAIN_NAME%_%SERVER_NAME%"
    -javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%"
    -extrapath:"%WL_HOME%¥server¥bin" -password:"%WLS_PW%"
    -cmdline:%CMDLINE%
    -log:"d:\bea\user_projects\myWLSdomain\myWLSserver-stdout.txt

  4. デフォルトでは、Windows サービスは 24 時間おきにメッセージを pathname-yyyy_mm_dd-hh_mm_ss という名前のファイルに保管します。 新しいメッセージは、前の手順で指定したファイルに収集されます。

    デフォルト動作の変更については、デフォルトのローテーション基準の変更を参照してください。

サービスをインストールして Windows ホストを再起動したら、以下のいずれかを実行して標準出力または標準エラーに書き込まれたメッセージを表示します。

デフォルトのローテーション基準の変更

デフォルトでは、Windows サービスは 24 時間おきにメッセージを pathname-yyyy_mm_dd-hh_mm_ss という名前のファイルに保管します。 新しいメッセージは、サービスの設定時に指定したファイルに収集されます。

時間間隔を変更したり、時間間隔の代わりにメッセージ ファイルのサイズに基づいてローテーションが行われるように設定したりすることもできます。

Windows サービスがメッセージ ファイルをローテーションするデフォルト基準を変更するには、次の手順を行います。

  1. Windows サービスが動作している場合は、それを停止します。

  2. -log: pathname 引数で指定したファイルを編集します。 ファイルが存在しない場合は、新たに作成します。

    たとえば、前節の手順 3. のサンプル コマンドを発行した場合は、d:¥bea¥wlserver6.1¥config¥mydomain¥myserver-stdout.txt という名前のファイルを作成します。

  3. 以下のいずれかを実行します。

    • サイズに関係なく指定の時間間隔でメッセージ ファイルがローテーションされるようにするには、以下の文をそれぞれ別の行としてファイルの先頭に追加します (最後の行を入力した後は必ず〔Enter〕または〔Return〕を押してください)。
      # ROTATION_TYPE = TIME
      # TIME_START_DATE =
      date-in-required-format
      # TIME_INTERVAL_MINS = number-of-minutes

      TIME_START_DATE は、最初のローテーションがいつ行われるのかを指定します。 指定された時刻が既に過ぎている場合、最初のローテーションは TIME_INTERVAL_MINS で指定された時間間隔が経過したときに行われます。 開始時刻の指定には、Month Day Year Hour:Minutes:Seconds という形式を使用する必要があります。
      Month は、グレゴリアン暦の月を英語で表現したときの最初の 3 文字です。
      Day は、グレゴリアン暦の 2 桁の日付です。
      Year は、グレゴリアン暦の 4 桁の年です。
      Hour:Minutes:Seconds は、24 時間形式の時刻を表します。

      TIME_INTERVAL_MINS は、Windows サービスがファイルをローテーションする頻度 (分間隔) を指定します。

      次に例を示します。
      # ROTATION_TYPE = TIME
      # TIME_START_DATE = Jul 17 2003 05:25:30
      # TIME_INTERVAL_MINS = 1440

      時間間隔が経過すると、Windows サービスはファイルを pathname-yyyy_mm_dd-hh_mm_ss として保存します。 次に、pathname という名前の新しいファイルを作成します。 この新しいファイルには最初に指定したすべてのヘッダが含まれており、新しい標準出力と標準エラーのメッセージが収集されます。

      # ROTATION_TYPE = TIME を指定しても、他の行を挿入していない場合、Windows サービスは 24 時間おきにメッセージ ファイルをローテーションします。

    • 指定サイズを超えたときにメッセージ ファイルがローテーションされるようにするには、以下の文をそれぞれ別の行としてファイルの先頭に追加します (最後の行を入力した後は必ず〔Enter〕または〔Return〕を押してください)。

      # ROTATION_TYPE = SIZE
      # SIZE_KB =
      file-size-in-kilobytes
      # SIZE_TRIGGER_INTERVAL_MINS = polling-interval

      SIZE_KB には、Windows サービスがメッセージを別のファイルに移動するきっかけになる最小のファイル サイズ (KB 単位) を指定します。

      SIZE_TRIGGER_INTERVAL_MINS には、Windows サービスがファイル サイズを確認する頻度 (分単位) を指定します。 このヘッダを挿入しない場合、Windows サービスは 5 分おきにファイル サイズを確認します。

      次に例を示します。
      # ROTATION_TYPE = SIZE
      # SIZE_KB = 1024
      # SIZE_TRIGGER_INTERVAL_MINS = 3

      ファイル サイズを確認してファイルが指定サイズより大きい場合、Windows サービスはそのファイルを pathname-yyyy_mm_dd-hh_mm_ss として保存します。 次に、pathname という名前の新しいファイルを作成します。 この新しいファイルには最初に指定したすべてのヘッダが含まれており、新しい標準出力と標準エラーのメッセージが収集されます。

      # ROTATION_TYPE = SIZE を指定しても、他の行を挿入していない場合、Windows サービスは 5 分おきにメッセージ ファイルのサイズを確認します。 ファイルが 1MB より大きい場合、そのファイルはローテーションされます。

スレッド ダンプの標準出力への出力

標準出力にスレッド ダンプを出力するには、以下のいずれかを実行します。

次に例を示します。
D:\bea\weblogic70\server\bin\beasvc -dump -svcname:mydomain_myserver

クラスのクラスパスへの追加

クラスパスとは、JVM が呼び出せる Java クラスの場所の宣言です。WebLogic Server のマスター スクリプトを使用してサーバ インスタンスを Windows サービスとしてインストールする場合、マスター スクリプトでは、サーバ インスタンスの実行に必要なすべてのクラスが指定されます。独自の Java クラスを追加して WebLogic Server を拡張する場合は、それらをクラスパスに追加する必要があります。

クラスパスにクラスを追加するには、次の手順に従います。

  1. WL_HOME¥server¥bin¥installSvc.cmd マスター スクリプトのバックアップ コピーを作成します。

  2. テキスト エディタで、WL_HOME¥server¥bin¥installSvc.cmd マスター スクリプトを開きます。

  3. set CLASSPATH 文にクラスを追加します。

    たとえば、c:¥myJar という名前のファイルにクラスをアーカイブした場合、修正後の文は以下のようになります。
    set CLASSPATH=%JAVA_HOME%¥lib¥tools.jar;%WL_HOME%¥server¥lib¥weblogic_sp.jar;%WL_HOME%¥server¥lib¥weblogic.jar;c:\myJar;%CLASSPATH%

    注意: Win32 システムには、コマンドラインの長さについて 2K の制限があります。Windows サービス起動のためのクラスパス設定が非常に長い場合は、2K の制限を超えることがあります。

    この制限に対処するには、次の操作を行う必要があります。

    1. set CLASSPATH コマンドの値を別個のテキスト ファイルに記述し、そのテキスト ファイルを WL_HOME¥server¥bin ディレクトリに保存します。

    2. WL_HOME¥server¥bin¥installSvc.cmd マスター スクリプトで、set CMDLINE コマンドを探します。

    3. set CMDLINE コマンドの -classpath ¥"%CLASSPATH%¥" オプションを以下のオプションと置き換えます。

      -classpath @filename
      filename
      は、クラスパス値が含まれるファイルの名前です。

      次に例を示します。

      set CMDLINE="%JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS%
      -classpath @myClasspath.txt -Dweblogic.Name=%SERVER_NAME% -Dbea.home=¥"D:¥bea_70sp2¥" -Dweblogic.management.username=%WLS_USER% -Dweblogic.management.server=¥"%ADMIN_URL%¥" -Dweblogic.ProductionModeEnabled=%STARTMODE% -Djava.security.policy=¥"%WL_HOME%¥server¥lib¥weblogic.policy¥" weblogic.Server"

  4. WebLogic Server のマスター スクリプトへの変更を保存します。

サーバ固有のスクリプトの実行

注意: サーバ固有のスクリプトを実行するには、Windows レジストリを変更する権限のあるユーザ アカウントで Windows コンピュータにログインする必要があります。

Windows サービスをプロダクション環境にインストールした場合は、 管理者レベルの権限があるオペレーティング システム ユーザ アカウントではサービスを実行しないことをお勧めします。 詳細については、サービスを実行するユーザ アカウントの確認を参照してください。

サーバ固有のスクリプトを実行するには、以下の手順に従います。

  1. コマンド プロンプトを開いて、管理サーバのルート ディレクトリに移動します。これは、サーバ固有のスクリプトが格納されているディレクトリです。

  2. サーバ固有のスクリプトの名前を入力します。

    コマンド プロンプトは、スクリプトを batch ファイルとして実行します。

    スクリプトが正常に実行されると、DOMAIN_NAME_SERVER_NAME
    という名前の Windows サービスが作成され、以下のような行が標準出力に出力されます。
    mydomain_myserver installed.

    デフォルトでは標準出力は、サーバ固有の batch ファイルを実行するコマンド プロンプトです。

  3. WL_HOME¥server¥bin¥installSvc.cmd マスター スクリプトを変更した場合は、他のサーバ インスタンスの設定にスクリプトを使用できるように、変更箇所を元に戻しておくことを検討してください。

設定の確認

WebLogic Server が Windows サービスとして正常に設定されていることを確認するには、次の手順に従います。

  1. コマンド ウィンドウを開き、次のコマンドを入力します。
    set PATH=WL_HOME¥server¥bin;%PATH%

  2. ドメイン ディレクトリのすぐ上のディレクトリに移動します。たとえば、BEA_HOME¥user_domains¥mydomain に設定されていることを確認するには、BEA_HOME¥user_domains に移動します。

  3. 入力するコマンド :
    beasvc -debug "yourServiceName"

    たとえば、beasvc -debug "mydomain_myserver" です。

正常に設定されている場合は、beasvc -debug コマンドによってサーバが起動されます。スクリプトが以下のようなエラーを返す場合は、正しいサービス名を指定したかどうか確認してください。
Unable to open Registry Key ....... System¥CurrentControlSet¥Services¥beasvc example_examplesServer¥Parameters

サービスを実行するユーザ アカウントの確認

プロダクション環境では、アクセス権限が限定された特別なオペレーティング システム ユーザ アカウントで WebLogic Server Windows サービスを実行する必要があります。 たとえば、その OS ユーザによるアクセスを BEA ファイルとドメイン ファイルに限定します。 そして、これらのファイルへのアクセスを、このユーザ アカウントにのみ許可します。

WebLogic Server インスタンスが、常に特別な OS ユーザ アカウントで実行されるようにするには、以下の手順に従います。

  1. [サービス] コントロール パネルを開きます。

    Windows 2000 デスクトップの場合であれば次の手順で操作します。

    1. [スタート] メニューを選択します。

    2. [スタート] メニューで、[設定|コントロール パネル] を選択します。

    3. コントロール パネルで [管理ツール] フォルダを開きます。

    4. [管理ツール] ウィンドウで、[サービス] コントロール パネルを開きます。

  2. [サービス] コントロール パネルで、WebLogic Server Windows サービスを右クリックして [プロパティ] を選択します。

  3. [プロパティ] ウィンドウで、[ログオン] タグをクリックします。

  4. [ログオン:] で [アカウント] を選択し、特別な OS ユーザ アカウントのユーザ名とパスワードを入力します。

  5. [OK] をクリックします。

コントロール パネルを使用したサーバ インスタンスの停止と再起動

Windows サービスとして実行されるようサーバ インスタンスを設定したら、コントロール パネルの [サービス] を使用して、サーバを停止および再起動できます。

デフォルトでは、Windows コントロール パネルを使用してサーバ インスタンスを停止すると、Windows サービス コントロール マネージャ (SCM) がサーバの Java 仮想マシン (JVM) を強制停止します。JVM を強制停止すると、サーバは直ちにすべての処理を終了します。セッション データはすべて失われます。サーバが config.xml ファイルへの書き込みを行っている間に管理サーバの JVM を強制停止すると、config.xml ファイルが破損する可能性があります。 Windows のコントロール パネルによって正常な停止を可能にするための詳細については、コントロール パネルからの正常な停止の有効化を参照してください。

Windows サービスとしてインストールされている WebLogic Server インスタンスを停止または再起動するには、次の手順に従います。

  1. [スタート|設定|コントロール パネル] を選択します。

  2. Windows 2000 で、コントロール パネルの [管理ツール] を開きます。次に、コントロール パネルの [サービス] を開きます。

    Windows NT では、[コントロール パネル] から直接、[サービス] を選択して開きます。

  3. [サービス] ダイアログ ボックスで、作成したサービスを見つけます。デフォルトでは、サービス名は「beasvc」で始まります。

  4. サービス名を右クリックして、ショートカット メニューからコマンドを選択します。

Windows サービスとしてのサーバの削除

WebLogic Server インスタンスを実行する Windows サービスを削除するには、beasvc ユーティリティが Windows レジストリから関連のキーを削除するように指定したスクリプトを使用できます。Windows サービスを削除しても、ドメインのコンフィグレーション ファイルに保存されているサーバ インスタンスのコンフィグレーションには影響はありません。Windows サービスを削除した後は、WebLogic Server インスタンスを起動スクリプトで、または管理対象サーバの場合はノード マネージャで起動できます。

ドメイン コンフィグレーション ウィザードでドメインのスクリプトが既に作成されていない場合は、自分で作成する必要があります。このスクリプトでは、サーバ インスタンス名などサーバ固有の情報を識別する変数値を設定します。その後、スクリプトはマスター アンインストール スクリプト WL_HOME¥server¥bin¥uninstallSvc.cmd を呼び出します。WL_HOME は、WebLogic Server をインストールしたディレクトリです。マスター スクリプトは beasvc ユーティリティを呼び出します。これにより、Windows レジストリからキーが削除されます。

サーバ固有のアンインストーラ スクリプトの例は、リスト2-3 を参照してください。

WebLogic Server インスタンスを実行する Windows サービスを削除するスクリプトを作成するには、次の手順に従います。

  1. ドメインの管理サーバのルート ディレクトリ (ドメインの config.xml ファイルが格納されているディレクトリ) に、テキスト ファイルを作成します。

  2. 以下の必須 batch コマンドをテキスト ファイルに追加します。コマンドはそれぞれ別の行に記述します。

    • SETLOCAL

      これは、バッチ ファイル内の環境変数のローカライゼーションを開始する batch コマンドです。

    • set DOMAIN_NAME=domain-name

      domain-name は、使用している WebLogic Server の名前を表します。

    • set SERVER_NAME=server-name

      server-name は、Windows サービスとして設定する既存のサーバ インスタンスの名前を表します。

    • call "WL_HOME¥server¥bin¥uninstallSvc.cmd"

      WL_HOME は WebLogic Server をインストールしたディレクトリの絶対パス名です。このコマンドは、WebLogic Server のマスター アンインストール スクリプトを呼び出します。

    • ENDLOCAL

      これは、バッチ ファイル内の環境変数のローカライゼーションを終了する batch コマンドです。

  3. テキスト ファイルの拡張子を .cmd にして保存します。デフォルトでは、Windows のコマンド プロンプトで拡張子 .cmdbatch ファイルが関連付けされています。

  4. サーバ固有のスクリプトの名前を入力します。

    コマンド プロンプトは、スクリプトを batch ファイルとして実行します。

削除スクリプトは正常に実行されると、標準出力に以下のような行を出力します。
mydomain_myserver removed.

デフォルトでは、標準出力は、batch ファイルを実行するコマンド プロンプトです。

コード リスト 2-3 Windows サービスを削除するスクリプト

echo off
SETLOCAL
set DOMAIN_NAME=myWLSdomain 
set SERVER_NAME=myWLSserver
call "D:¥bea¥weblogic700¥server¥bin¥uninstallSvc.cmd"
ENDLOCAL

Windows サービスとしてのサーバ設定に対する起動資格の変更

WebLogic Server インスタンスが別のユーザ資格に基づいて実行されるように Windows サービスを変更するには、以下の処理のいずれかを実行します。

  1. WebLogic Server インスタンスを実行する Windows サービスをアンインストールします。 詳細については、Windows サービスとしてのサーバの削除を参照してください。

  2. テキスト エディタで、サービスのインストールに使用したスクリプトを開き、set WLS_USER コマンドや set WLS_PW コマンドのための値として新しいユーザ名やパスワードを入力します。この値は Windows レジストリでは暗号化されます。

  3. スクリプトへの変更を保存します。

  4. サーバ固有のスクリプトの名前を入力します。

    コマンド プロンプトは、スクリプトを batch ファイルとして実行します。

    スクリプトが正常に実行されると、DOMAIN_NAME_SERVER_NAME
    という名前の Windows サービスが作成され、以下のような行が標準出力に出力されます。
    mydomain_myserver installed.

    デフォルトでは標準出力は、サーバ固有の batch ファイルを実行するコマンド プロンプトです。

  5. (省略可能) スクリプト ファイルからユーザ名とパスワードを削除します。

 

Back to Top Previous Next