jython wsadmin脚本更改为dmgr jvm

时间:2018-12-11 21:07:27

标签: websphere jython wsadmin

我有一个脚本,可以在每个节点代理上设置自定义JVM属性,但是我也希望它在dmgr级别上执行相同的操作。我很难获取dmgr jvm的ID。这是我的nodeagent脚本。我真的在列表,listServers,getid差异方面苦苦挣扎。

感谢covener的评论,这是工作脚本

列表付款管理器服务器

dmgrServer = AdminTask.listServers('[-serverType DEPLOYMENT_MANAGER]')。splitlines()

对于dmgrServer中的jvm:     #获取dmgr jvm id     jvmid = AdminConfig.list('JavaVirtualMachine',jvm)     #创建新属性     AdminConfig.create('Property',jvmid,'[[validationExpression“”] [名称“ MyProperty”] [描述“做酷的事情”] [值“ true”] [必需的“ false”]]')

获取所有节点代理服务器

nodeagents = AdminTask.listServers('[-serverType NODE_AGENT]')。splitlines()

对于nodeagents中的nodeagent:     #获取此节点代理服务器的JVM的ID     jvmid = AdminConfig.list('JavaVirtualMachine',nodeagent)     #设置自定义属性     AdminConfig.create('Property',jvmid,'[[validationExpression“”] [名称“ MyProperty”] [描述“做酷的事情”] [值“ true”] [必需的“ false”]]')

保存配置更改

AdminConfig.save()

同步所有活动节点

AdminNodeManagement.syncActiveNodes()

1 个答案:

答案 0 :(得分:1)

添加评论作为答案:

DEPLOYMENT_MANAGER是有效的服务器类型,因此可以与NODE_AGENT循环完全相同地进行处理:

ROUND(
    CASE WHEN ret2 IS NULL OR ret2 = 0
           OR originalretail IS NULL OR originalretail = 0
         THEN 0
         ELSE (Ret2 + ORIGINALRETAIL - RetOne) / Ret2
    END), 0) AS [% Savings]