Below is the jacl script which I use for syncing the Node in 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"
The environment is clustered, post deployment of the EAR file, I'm invoking this jacl script to sync the changes to Nodes. The error I get when running the script:
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.
What is the reason for Sync1 being ''? Do we need to use process=nodeagent in the command? What will be the result if the nodeagent is started and stopped?
The error message:
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.
... tells that the ObjectName was not found. Most likely:
You can check which nodeagents (their NodeSync MBeans) are available by running this command:
$AdminControl queryNames WebSphere:*,type=NodeSync
Based on the output you can fix the typo.
If unavailability of nodeagent is the issue, then you can cater for that in your script by checking if completeObjectName
returned an empty string.