マシンの再起動が必要になった場合など、ドメインまたはノードエージェントが予想外に停止される場合にそなえて、ドメインまたはノードエージェントが自動的に再起動されるようにシステムを設定することが可能です。
この付録では、次の項目について説明します。
UNIX プラットフォーム上でドメインを再起動するには、/etc/inittab ファイルにテキストを 1 行追加します。
たとえば、opt/SUNWappserver ディレクトリにインストールされた Application Server の domain1 を、password.txt という名前のパスワードファイルを使って再起動するには、次のテキストを追加します。
das:3:respawn:/opt/SUNWappserver/bin/asadmin start-domain --user admin --passwordfile /opt/SUNWappserver/password.txt domain1 |
このテキストは 1 行で記述してください。先頭の 3 文字はこのプロセスに対する一意の指示子ですが、これは変更可能です。
ノードエージェントを再起動する場合の構文も、これと似ています。たとえば、opt/SUNWappserver ディレクトリにインストールされた Application Server の agent1 を、password.txt という名前のパスワードファイルを使って再起動するには、次のテキストを追加します。
das:3:respawn:/opt/SUNWappserver/bin/asadmin start-node-agent --user admin --passwordfile /opt/SUNWappserver/password.txt agent1 |
Microsoft Windows 上で自動的に再起動するには、Windows サービスを作成します。Sun Java System Application Server に同梱されている実行可能ファイル appservService.exe と appserverAgentService.exe を、Microsoft が提供するサービス制御コマンド (sc.exe) と組み合わせて使用します。
sc.exe コマンドは Windows XP に同梱されており、C:\windows\system32 ディレクトリか C:\winnt\system32 ディレクトリのいずれかに格納されています。このマニュアルの執筆時点では、Windows 2000 の sc.exe が http:// ftp://ftp.microsoft.com/reskit/win2000/sc.zip からダウンロード可能となっています。sc.exe の使用方法の詳細については、http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndllpro/html/msdn_scmslite.asp を参照してください。
appservService.exe および appservAgentService.exe の使用方法は次のとおりです。
C:\winnt\system32\sc.exe create service-name binPath= \"fully-qualified-path-to-appservService.exe \"fully-qualified-path-to-asadmin.bat start-command\" \"fully-qualified-path-to-asadmin.bat stop-command\"" start= auto DisplayName= "display-name"
たとえば、パスワードファイル C:\Sun\AppServer\password.txt を使ってドメイン domain1 を開始および停止するサービス SunJavaSystemAppServer DOMAIN1 を作成するには、次のようにします。
C:\windows\system32\sc.exe create domain1 binPath= "C:\Sun\AppServer\lib\appservService.exe \"C:\Sun\AppServer\bin\asadmin.bat start-domain --user admin --passwordfile C:\Sun\AppServer\password.txt domain1\" \"C:\Sun\AppServer\bin\asadmin.bat stop-domain domain1\"" start= auto DisplayName= "SunJavaSystemAppServer DOMAIN1"
ノードエージェント agent1 を開始および停止するサービスを作成するには、次のようにします。
C:\windows\system32\sc.exe create agent1 binPath= "C:\Sun\AppServer\lib\appservAgentService.exe \"C:\Sun\AppServer\bin\asadmin.bat start-node-agent --user admin --passwordfile C:\Sun\AppServer\password.txt agent1\" \"C:\Sun\AppServer\bin\asadmin.bat stop-node-agent agent1\"" start= auto DisplayName= "SJESAS_SE8.1 AGENT1"
binPath= パラメータの一部として入力された開始コマンドと停止コマンドは、正しい構文で記述されている必要があります。確認するには、それらのコマンドをコマンドプロンプトから実行します。コマンドを実行してもドメインまたはノードエージェントが正常に開始または停止しない場合、そのサービスは正しく動作していません。
asadmin の start/stop コマンドとサービスの開始/停止を混在させないでください。両者を混在させると、サーバーの状態の同期が取れなくなります。たとえば、サーバーのコンポーネントが実行されていないのに「コンポーネントが開始された」と表示されたりします。こうした状況を避けるには、サービス使用時には常に、sc.exe コマンドを使ってコンポーネントを開始および停止するようにしてください。
起動時に必要となるパスワードとマスターパスワードは、次のいずれかの方法を使って処理します。
Microsoft Windows 上で、ユーザーにパスワードを尋ねるようにサービスを設定します。
サービスコントロールパネルで、作成したサービスをダブルクリックします。
「プロパティー」ウィンドウの「ログオン」タブをクリックします。
「デスクトップとの対話をサービスに許可」にチェックマークを付け、必要なパスワードに対するプロンプトがコンポーネント起動時に表示されるようにします。
ログインしてプロンプトを表示させ、入力時にエントリがエコーバックされないことを確認する必要があります。これがサービスオプションを使用する際のもっとも安全な方法ですが、この方法の場合、ユーザーが関与しないとサービスが利用可能になりません。
デスクトップとの対話オプションを設定しなかった場合、サービスは「開始保留」状態のままになり、ハングアップしたように見えます。この状態から抜け出すには、このサービスのプロセスを終了してください。
Windows または UNIX 上で、--savemasterpassword=true オプションを使ってドメインを作成し、管理パスワード格納用のパスワードファイルを作成します。コンポーネント起動時に、--passwordfile オプションを使ってパスワードが格納されたファイルを指定します。
次に例を示します。
ドメイン作成時にマスターパスワードを保存します。次の構文では、ユーザーは管理パスワードとマスターパスワードの入力を求められます。
asadmin create-domain --adminport 4848 --adminuser admin --savemasterpassword=true --instanceport 8080 domain1 |
Windows の場合は、サービスを作成します。その際、パスワードファイルを使って管理パスワードを提供します。
C:\windows\system32\sc.exe create domain1 binPath= "C:\Sun\AppServer\lib\appservService.exe \"C:\Sun\AppServer\bin\asadmin.bat start-domain --user admin --passwordfile C:\Sun\AppServer\password.txt domain1\" \"C:\Sun\AppServer\bin\asadmin.bat stop-domain domain1\"" start= auto DisplayName= "SJESAS_PE8.1 DOMAIN1"
パスワードファイル password.txt のパスは、C:\Sun\AppServer\password.txt です。このファイルには、パスワードが次の形式で格納されています。
AS_ADMIN_password=password
たとえば、パスワードが adminadmin の場合、次のようになります。
AS_ADMIN_password=adminadmin
UNIX の場合、inittab ファイルに追加する行の中で、--passwordfile オプションを使用します。
das:3:respawn:/opt/SUNWappserver/bin/asadmin start-domain --user admin --passwordfile /opt/SUNWappserver/password.txt domain1 |
パスワードファイル password.txt のパスは、/opt/SUNWappserver/password.txt です。このファイルには、パスワードが次の形式で格納されています。
AS_ADMIN_password=password
たとえば、パスワードが adminadmin の場合、次のようになります。
AS_ADMIN_password=adminadmin