我试图从 Java 中控制 Jython 脚本的执行,并通过调用 PythonInterpreter.exec() 来执行。该脚本包含对 Java 中定义的类的调用。在此处的讨论中,我将这些类称为“命令”。这些命令也可以通过 RMI 在不同的机器上运行。
由于命令需要一段时间才能完成,我想在调用方检查命令的执行进度,例如执行完成的百分比。我可以为类提供一个 getProgress() 方法,但是访问这个方法似乎是不可能的,因为 PythonInterpreter 不允许调用者访问在它里面运行的命令对象。
关于如何做到这一点有什么想法吗?
最佳答案
我的 0.10 欧元: (这并不容易)
按照中所述 build 工厂
http://wiki.python.org/jython/JythonMonthly/Articles/September2006/1
和代表脚本类(IJScript)的 Java 接口(interface) (包括 run() 和 getProgress() 方法)
您的脚本应该如下所示:
class xyscript(IJScript) :
def __init__(self) :
...
def run(self) :
...
def getProgress(self) :
....
在访问接口(interface) IJScript(Java 接口(interface))时运行您的脚本 (看员工例子)
关于java - 从 Java 控制 Jython 脚本的执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/225770/