使用wsadmin脚本修改WebSphere 7中的默认WorkManager

时间:2011-05-12 14:33:46

标签: websphere jython wsadmin workmanagers

我想使用wsadmin(Jython)脚本提高默认工作管理器线程池中的最大线程数。什么是最好的方法?

我似乎无法找到可以让我修改此属性的细粒度控件的文档。我能找到的最接近我想要的是AdminTask.applyConfigProperties,它需要传递一个文件。该文档说明如果要修改现有属性,则必须提取现有属性文件,在编辑器中对其进行编辑,然后将编辑后的文件传递给applyConfigProperties。

我想避免手动提取现有属性文件并进行编辑。脚本需要完全无人值守地运行。实际上,我宁愿根本不使用文件,只是直接在脚本中将属性设置为值。

类似下面的伪代码:

defaultwmId = AdminConfig.getid("wm/default")
AdminTask.setProperty(defaultwmId, ['-propertyName', maxThreads, '-propertyValue', 20])

1 个答案:

答案 0 :(得分:2)

以下表示更新默认工作管理器上的最大线程的相当简单的wsadmin方法:

workManagers = AdminConfig.getid("/WorkManagerInfo:DefaultWorkManager/").splitlines()
for workManager in workManagers :
  AdminConfig.modify(workManager, '[[maxThreads "20"]]')
AdminConfig.save()

请注意,第一行将检索所有范围中的所有默认工作管理器,因此,如果您只想选择一个(例如,如果您只修改一个特定的应用程序服务器或集群的工作管理器属性),您将需要进一步细化包含路径。此外,您可能需要同步节点并重新启动已修改的服务器,以便在运行时应用该属性。

有关使用AdminConfig脚本对象的更多信息,请参阅WAS信息中心:   http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/rxml_adminconfig1.html