Сценарии Websphere - ошибка во время SyncNode
Ниже приведен скрипт jacl, который я использую для синхронизации узла в WAS 7.
#Sync Node Changes
puts "Begin SyncNode.."
set Sync1 [$AdminControl completeObjectName type=NodeSync,process=nodeagent,node=Profile01Node600,*]
set Sync2 [$AdminControl completeObjectName type=NodeSync,process=nodeagent,node=Profile02Node601,*]
$AdminControl invoke $Sync1 sync
$AdminControl invoke $Sync2 sync
puts "SyncNode Complete"
Среда кластерная, после развертывания файла EAR я запускаю этот jacl-скрипт для синхронизации изменений в узлах. Ошибка, которую я получаю при запуске скрипта:
WASX7209I: Connected to process "dmgr" on node wAMLDmgrNode using SOAP connector; The type of process is: DeploymentManager
Begin SyncNode..
WASX7017E: Exception received while running file "xxx/xxx/xxx.jacl"; exception information: com.ibm.ws.scripting.ScriptingException: WASX7025E: Error found in String ""; cannot create ObjectName.
В чем причина того, что Sync1 является ''? Нужно ли нам использовать process=nodeagent в команде? Каков будет результат, если агент узла запущен и остановлен?
1 ответ
Сообщение об ошибке:
WASX7017E: Exception received while running file "xxx/xxx/xxx.jacl"; exception information: com.ibm.ws.scripting.ScriptingException: WASX7025E: Error found in String ""; cannot create ObjectName.
... сообщает, что ObjectName не было найдено. Более вероятный:
- ваш нодагент не работает
- в имени узла есть опечатка (Profile01Node600 & Profile01Node601)
Вы можете проверить, какие агенты узла (их NodeSync MBeans) доступны, выполнив эту команду:
$AdminControl queryNames WebSphere:*,type=NodeSync
На основании результатов вы можете исправить опечатку.
Если проблема заключается в недоступности агента узла, вы можете учесть это в своем сценарии, проверив, completeObjectName
вернул пустую строку.