0

下面是我用于在 WAS 7 中同步节点的 jacl 脚本。

    #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吗?如果 nodeagent 启动和停止,会有什么结果?

4

1 回答 1

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 MBean)可用:

$AdminControl queryNames WebSphere:*,type=NodeSync

根据输出,您可以修复错字。

如果 nodeagent 不可用是问题,那么您可以通过检查是否completeObjectName返回空字符串来解决脚本中的问题。

于 2014-03-07T08:10:00.340 回答