В данном разделе описывается выполнение типичных административных задач на серверах приложений с использованием wsadmin.
Запуск сервера приложений
В распределенной серверной среде агент узла может запустить сервер приложений. В примере 5.27 показана команда запуска сервера приложений server2 с помощью команды startServer.
Пример 5.27. Запуск сервера приложений
wsadmin>AdminControl.startServer(‘server2’,’kcgg1f3Node01’)
‘WASX7262I: Start completed for server "server2" on node "kcgg1f3Node01"’
Вы также можете использовать для запуска server2 операцию launchProcess, примененную к объекту NodeAgent. В примере 5.28 показан синтаксис команды, запрашивающей информацию о MBean-компоненте, относящемся к объекту NodeAgent, и команда вызова операции launchProcess применительно к идентифицированному MBean.
Пример 5.28. Получение информации о MBean — компоненте агента узла NodeAgent
wsadmin>naMain = AdminControl.completeObjectName(‘type=NodeAgent,node=kcgg1f3Node01,name=NodeAge nt,*’)
wsadmin>AdminControl.invoke(naMain,’launchProcess’, ‘server2’) ‘true’
Останов сервера приложений
В примере 5.29. показана команда останова сервера приложений server2.
Пример 5.29. Останов сервера приложений
wsadmin>AdminControl.stopServer(‘server2′,’kcgg1f3Node01′)
WASX7337I: Invoked stop for server «server2» Waiting for stop completion.
WASX7264I: Stop completed for server «server2» on node «kcgg1f3Node01»
Вы можете использовать для запуска сервера приложений операцию launchProcess, примененную к объекту NodeAgent. В примере 5.30 показан синтаксис команды, запрашивающей информацию о MBean-компоненте, относящемся к объекту NodeAgent, и команда вызова операции launchProcess применительно к идентифицированному MBean.
Пример 5.30. Получение информации о MBean — компоненте агента узла NodeAgent
wsadmin>naMain = AdminControl.queryNames (‘*:*,type=NodeAgent’)
wsadmin>AdminControl.invoke(naMain,’launchProcess’, ‘server2’) ‘true’
Если на сервере работает несколько серверов приложений, вы можете остановить все серверы из одного скрипта. В примере 5.31 показан скрипт, останавливающий все серверы приложений на узле SocratesNode. В этом примере имя узла задано жестко, но также можно написать код Jython, который будет принимать имя узла из командной строки или из меню.
Чтобы вызвать скрипт из командной строки, введите следующие команды:
cd <дир_was>profiles<имя_профиля>bin
wsadmin — f <имя_файла_скрипта>
Пример 5.31. Останов всех серверов приложений узла servername =
AdminControl.queryNames(‘node=kcgg1f3Node01,type=Server,processType=ManagedProc ess,*’).split(lineSeparator)
for item in servername:
shortname = AdminControl.getAttribute(item,’name’) completename =
AdminControl.completeObjectName(‘type=Server,node=kcgg1f3Node01,name=’+shortnam e+’,*’ )
print ‘Stopping server : ‘+shortname
AdminControl.invoke(completename, «stop») #endFor