【问题标题】:modify the thread pool in websphere 8.5 using wsadmin script使用 wsadmin 脚本修改 websphere 8.5 中的线程池
【发布时间】:2015-06-02 18:29:48
【问题描述】:

我想使用 wsadmin (jython) 脚本修改默认、工作管理器等的线程池大小。如何更改所有这些最大和最小尺寸?

我似乎找不到更改线程池设置的正确文档,“Adminconfi.modify”对我的属性没有响应

【问题讨论】:

标签: scripting websphere threadpool jython wsadmin


【解决方案1】:

这对我来说很有意义。假设进来的ID是jvm上getid的结果。获取线程池列表,然后获取要修改的线程池的 ID(在我的情况下是“默认”和“WebContainer”线程池),然后进行修改。 adminutil 是这个问题的关键,否则线程池“列表”是一个大的讨厌的无用字符串。

def setThreadPools(ID):
   threadPools=AdminConfig.list('ThreadPool',ID)
   threadPoolList=AdminUtilities.convertToList(threadPools)
   for tps in threadPoolList:
      if AdminConfig.showAttribute(tps,'name') == 'Default':
         defaultThreadPoolID=tps
      if AdminConfig.showAttribute(tps,'name') == 'WebContainer':
         webcontainerThreadPoolID=tps
   AdminConfig.modify(defaultThreadPoolID, '[[maximumSize "50"] [name "Default"] [minimumSize "20"] [inactivityTimeout "5000"] [description ""] [isGrowable "false"]]')
   AdminConfig.modify(webcontainerThreadPoolID, '[[maximumSize "120"] [name "WebContainer"] [minimumSize "50"] [inactivityTimeout "60000"] [description ""] [isGrowable "false"]]')
   return

【讨论】:

    【解决方案2】:

    这对我有用:

    pools = AdminConfig.list('ThreadPool', AdminConfig.getid( '/Cell:Cell01/Node:Node01/Server:server1/')).split()
    AdminConfig.modify(pools[10], '[[maximumSize "97"] [name "WebContainer"] [minimumSize "50"] [inactivityTimeout "60000"] [description "modified by script"] [isGrowable "false"]]')
    AdminConfig.save()
    

    ..inspired by pglezen

    【讨论】:

    • 你怎么知道 pools[10] 必须是 WebContainer?
    【解决方案3】:

    更改默认线程池的示例代码:

    AdminConfig.modify('(cells/kumaranCell02/nodes/kumaranNode02/servers/server1|server.xml#ThreadPool_1399487666604)', '[[maximumSize "50"] [name "Default"] [minimumSize "10"] [ inactivityTimeout "5000"] [description ""] [isGrowable "false"]]')

    更改 webcontainer 线程池的示例:

    AdminConfig.modify('(cells/kumaranCell02/nodes/kumaranNode02/servers/server1|server.xml#ThreadPool_1399487666598)', '[[maximumSize "50"] [name "WebContainer"] [minimumSize "10"] [ inactivityTimeout "60000"] [描述 ""] [isGrowable "false"]]')

    注意:您需要从 server.xml 文件中更改单元名称、节点名称、服务器名称和线程池 ID。

    【讨论】:

    • 谢谢,但我不是在寻找控制台中生成的脚本
    【解决方案4】:

    修改线程池涉及多个步骤。首先,您必须获取服务器配置 ID,并使用它来获取 Web 容器 ID。一旦你得到,你可以执行修改,然后将配置保存到主存储库。以下命令可能会帮助您实现相同的目标:

    serid = AdminConfig.getid('/Server:server1')

    webid = AdminConfig.list('WebContainer',serid)

    AdminConfig.modify(webid,[['tuningParams', [['invalidationTimeout', '1800'], ['maxInMemorySessionCount', '40']]]])

    AdminConfig.modify(webid,[['threadPool', [['inactivityTimeout', '1800'], ['isGrowable', 'false'], ['maximumSize', '29'], ['minimumSize' , '5']]]])

    【讨论】:

    • 请格式化您的答案并给出实际的解释。
    • 它会变得更好吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-19
    • 1970-01-01
    • 2016-07-17
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    相关资源
    最近更新 更多