java - 从 Java 控制 Jython 脚本的执行

标签 java controls jython

我试图从 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/

相关文章:

java - Neo4j 3.3.1-自定义 APOC 程序失败

java - 启动外部 .exe 并实时读取控制台中写入的内容

html - 视频和音频控件在html中不起作用

调整具有大量控件的窗口大小时的 WPF 性能问题

python - burp扩展如何拦截所有流量

python - 在 Jython/Python 中复制图片时,如何每行少复制 X 像素

java - 为了获得最大性能,线程池的大小应该是多少?

java - 用Java发送数据报包

.net - .NET Winforms中的拆分按钮

jython - 在 Ubuntu 上安装 Jython