Сценарии 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 вернул пустую строку.

Другие вопросы по тегам