我正在尝试从Java中控制Jython脚本的执行,并通过调用PythonInterpreter.exec()来执行。该脚本包含对Java中定义的类的调用。我会在这里讨论这些类“命令”。这些命令也可以通过RMI在不同的机器上运行。
由于命令需要一段时间才能完成,我想检查命令在调用方执行的进度,例如执行完成的百分比。我可以为类提供getProgress()方法,但是访问此方法似乎是不可能的,因为PythonInterpreter不允许调用者访问在其中运行的命令对象。
关于如何做到这一点的任何想法?
答案 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接口) (查看员工示例)