如果域或节点代理被意外停止(例如,您需要重新启动计算机),您可以将系统配置为自动重新启动域或节点代理。
本附录包括以下主题:
要在 UNIX 平台上重新启动域,请在 /etc/inittab 文件中添加一行文本。
例如,要重新启动安装在 opt/SUNWappserver 目录中的 Application Server 的 domain1,请使用名为 password.txt 的密码文件:
das:3:respawn:/opt/SUNWappserver/bin/asadmin start-domain --user admin --passwordfile/opt/SUNWappserver/password.txt domain1 |
将这些文本放在一行上。前三个字母是进程的唯一指示符,可以进行更改。
重新启动节点代理的语法与此相似。例如,要重新启动安装在 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 提供的 Service Control 命令 (sc.exe) 。
Windows XP 附带了 sc.exe 命令,该命令位于 C:\windows\system32 目录或 C:\winnt\system32 目录中。编写本文档时,已经可以从 http:// ftp://ftp.microsoft.com/reskit/win2000/sc.zip 下载 Windows 2000 sc.exe。有关使用 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"
例如,要创建用于启动和停止域 domain1 的名为 SunJavaSystemAppServer DOMAIN1 的服务,请使用密码文件 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"
要创建用于启动和停止节点代理 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