【问题标题】:How to terminate websphere app server instance from wsadmin?如何从 wsadmin 终止 websphere 应用程序服务器实例?
【发布时间】:2014-05-03 07:46:43
【问题描述】:

我有一个 jython 脚本,它可以停止和启动 websphere 应用程序服务器 v7 实例。我通常使用 AdminControl.stopServer 命令来停止,但有时实例会挂起,请求线程会超时。然后我必须从 Web 控制台终止实例。有没有办法让实例立即“终止”,而不是等待优雅的停止?我基本上希望 wsadmn 中的 Web 控制台终止按钮功能。

【问题讨论】:

    标签: websphere websphere-7 ibm-was


    【解决方案1】:

    指挥协助说:

    AdminControl.invoke('WebSphere:name=NodeAgent,process=nodeagent,platform=common,node=node1,diagnosticProvider=true,version=8.5.5.2,type=NodeAgent,mbeanIdentifier=NodeAgent,cell=ndcell,spec= 1.0','终止','[server1]','[java.lang.String]')

    【讨论】:

    • 我完全忘记了命令辅助。谢谢你的提醒。如果对任何人有帮助,我已经在答案中添加了我的功能。
    【解决方案2】:
    def getNodeNameForServer(serverName):
        nodes = AdminConfig.list("Node").split("\n")
        for node in nodes:
            nodeServers = AdminConfig.list("Server", node).split("\n")
            for nodeServer in nodeServers:
                sname = AdminConfig.showAttribute(nodeServer, "name")
                if sname == serverName:
                    nname = AdminConfig.showAttribute(node, "name")
                    return nname
        return 'NONE'
    
    def terminateServer(serverName):
        nodeName=getNodeNameForServer(serverName)
        if (nodeName != "NONE"): 
            print '\nTerminating server: %s\n' % (serverName)
            nodeAgentObj=AdminControl.completeObjectName('type=NodeAgent,node='+nodeName+',*')
            print AdminControl.invoke(nodeAgentObj, 'terminate', '['+serverName+']', '[java.lang.String]')
    

    【讨论】:

      猜你喜欢
      • 2020-12-21
      • 1970-01-01
      • 2015-03-25
      • 1970-01-01
      • 2012-05-24
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多