gpt4 book ai didi

deployment - WebSphere Server不在运行状态:Jython WebSphere脚本?

转载 作者:行者123 更新时间:2023-12-02 04:08:28 25 4
gpt4 key购买 nike

请找到下面的代码

runningServer1 = AdminControl.completeObjectName("type=Server,node=nodename,process=processname,*")
print "server running --->",runningServer1
if len(runningServer1) == 0:

print "Error: Server not running...",process_name

输出是

“错误:服务器未运行...”

尽管我的服务器正在运行,并且能够启动该应用程序。
而且还没有打印runningServer1变量,为什么我无法获得服务器的对象?

我在下面的IBM论坛中发布的有关我的问题的更多信息

https://www.ibm.com/developerworks/forums/thread.jspa?threadID=374216

最佳答案

bkail处在正确的轨道上。您需要确保您的搜索字符串正确。用:

print AdminControl.queryNames('type=Server,*')

在交互式wsadmin.sh session 中,以列出单元中所有正在运行的服务器。然后使用:
'type=Server,name=JVM_NAME,*'

为您的搜索字符串。从刚刚运行的queryNames的输出确定JVM_NAME的位置。

另外,我将避免使用AdminControl.completeObjectName。我不确定其中的含义,但是文档中的这段代码使我认为它可能无法实现您认为的目的:

使用completeObjectName命令来
创建一个字符串表示
完整的ObjectName值是
基于片段。 此命令可以
无法与服务器
通信以
查找匹配的ObjectName值。如果
系统找到几个MBean
匹配片段,命令
返回第一个。

这是IBM在WAS_ROOT / scriptLibraries / servers / V70 / AdminServerManagement.py(第814-815行)中执行的操作:
runningServer = AdminControl.queryNames("type=Server,node="+nodeName+",name="+serverName+",*")
if (len(runningServer) > 0 and AdminControl.getAttribute(runningServer, "state") == "STARTED"):
...

以我的经验,AdminControl.queryNames将仅返回正在运行的服务器。因此,根据您的需要,仅检查len(runningServer)的返回值就足够了。另外,以真正的IBM方式,文档中没有任何内容列出AdminControl.getAttribute(runningServer,“state”)的可能返回值。我只能找到对“STARTED”的引用。

关于deployment - WebSphere Server不在运行状态:Jython WebSphere脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6371486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com