Sun Java System Application Server Platform Edition 9 Administration Guide

Chapter 20 Automatically Restarting a Domain

If your domain is stopped unexpectedly (for example, if you need to restart your machine), you can configure your system to automatically restart the domain.

This Appendix contains the following topics:

Restarting Automatically on UNIX Platforms

To restart your domain on a UNIX platform, add a line of text to the /etc/inittab file.

If you use /etc/rc.local, or your system’s equivalent, place a line in /etc/rc.local that calls the desired asadmin command.

For example, to restart domain1 for an Application Server installed in the opt/SUNWappserver directory, using a password file called password.txt:


das:3:respawn:/opt/SUNWappserver/bin/asadmin start-domain --user admin 
--passwordfile /opt/SUNWappserver/password.txt domain1

Put the text on one line. The first three letters are a unique designator for the process and can be altered.

Restarting Automatically on the Microsoft Windows Platform

To restart automatically on Microsoft Windows, create a Windows Service. Use the appservService.exe and appserverAgentService.exe executable files shipped with the Sun Java System Application Server in conjunction with the Service Control command (sc.exe) provided by Microsoft.

The sc.exe command comes with Windows XP and is either located in the C:\windows\system32 directory or C:\winnt\system32 directory.

For more information on using sc.exe, see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndllpro/html/msdn_scmslite.asp.

Use appservService.exe and appservAgentService.exe as follows:

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"

For example, to create a service called SunJavaSystemAppServer DOMAIN1 that starts and stops the domain domain1, using a password file C:\Sun\AppServer\password.txt:

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"

Note –

The start and stop commands entered as part of the binPath= parameter must have the correct syntax. To test, run the commands from the command prompt. If the commands do not properly start or stop the domain, the service does not work correctly.



Note –

Don’t use a mixture of asadmin start and stop commands and service start and stops. Mixing the two can cause the server status to be out of sync. For example, the service might not show that the component has started even though the component is not running. To avoid this situation, always use the sc.exe command to start and stop the component when using services.


Security for Automatic Restarts

Handle the password and master password required when starting in one of the following ways:

Executing Local Admin CLI Commands without Admin Password

Sun Java System Application Server supports three local commands for which the administrator password need not be specified in clear text anymore. Instead the admin password can be defined as an alias in the passwordfile. The asadmin command invokes this passwordfile through "--passwordfile" option. This feature is also useful when a domain or a server has to be automatically restarted. The commands currently supported by this feature are start-domain, start-appserv, and start-node-agent.

ProcedureTo create the password alias

  1. Ensure that the domain is running.

  2. Create the alias for the admin user. To do this, from the directory where the domain.xml file resides (install_dir/domains/domain_dir/config by default), run the following asadmin command:

    create-password-alias --port 4848 --user admin --password adminadmin --aliaspassword adminadmin adminalias

  3. Insert the alias in a passwordfile

    $cat passwordfile

    AS_ADMIN_PASSWORD=${ALIAS=adminalias}


Example 20–1 for start-domain

Here's an example of the start-domain command used with the password alias.

asadmin start-domain --user admin --passwordfile passwordfile domain1