从Java控制Jython脚本的执行

时间:2008-10-22 13:40:47

标签: java controls jython

我正在尝试从Java中控制Jython脚本的执行,并通过调用PythonInterpreter.exec()来执行。该脚本包含对Java中定义的类的调用。我会在这里讨论这些类“命令”。这些命令也可以通过RMI在不同的机器上运行。

由于命令需要一段时间才能完成,我想检查命令在调用方执行的进度,例如执行完成的百分比。我可以为类提供getProgress()方法,但是访问此方法似乎是不可能的,因为PythonInterpreter不允许调用者访问在其中运行的命令对象。

关于如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:2)

我的0.10欧元: (并不容易)

按照

中的描述构建工厂

http://wiki.python.org/jython/JythonMonthly/Articles/September2006/1

和代表脚本类的Java接口(IJScript) (包括run()和getProgress()方法)

你的脚本应如下所示:

class xyscript(IJScript) :

def __init__(self) :
   ...
def run(self) :
   ...
def getProgress(self) :
   ....

运行脚本访问IJScript接口(Java接口) (查看员工示例)