【发布时间】:2012-02-25 23:08:26
【问题描述】:
环境
- Weblogic 10
- Sun Java
- 惠普用户体验
目标
以滚动重启方式重启所有集群的所有托管实例。希望不同的集群同时重启
问题
有没有办法使用 Jython 的线程模块同时执行多个 WLST 操作?
尝试的方法
在一个脚本中,我有集群和服务器实例的类。一个集群有一个服务器实例列表。集群对象上有一个方法可以循环遍历其服务器列表,如果集群健康,则一个一个地重新启动它们。我试过将此方法传递给这样的线程:
Thread(target=lambda: cluster.managedRestart()).start()
但是我收到一个错误
TypeError: can't set arbitrary attribute in java instance: target
想法
将托管重启代码分解成一个单独的文件,并使用execfile()从线程内调用它
还有其他人有什么想法/建议/经验吗?
【问题讨论】:
-
您好 wmarbut,您解决了线程解决方案吗?如果是,您是如何解决的。您的解决方案可以节省我的重新发明轮子。请分享你在这方面的学习...
-
@PavanWLA 已经好几年了,但我相信我从来没有得到我满意的解决方案。 Jython API 肯定不是线程安全的。我忘记了我在下面的答案中遇到的问题。很抱歉不能提供更多帮助
标签: multithreading weblogic jython wlst