2008-10-22 104 views
2

我試圖從Java內部控制Jython腳本的執行並通過調用PythonInterpreter.exec()來執行。該腳本包含對Java中定義的類的調用。我將把這些類的「命令」稱爲這裏的討論。這些命令也可以通過RMI在不同的機器上運行。控制從Java執行Jython腳本

由於命令需要一段時間才能完成,因此我想檢查命令在調用方執行的進度,例如執行完成的百分比。我可以爲類提供getProgress()方法,但訪問此方法似乎不可行,因爲PythonInterpreter不允許調用者訪問其中運行的命令對象。

有關如何做到這一點的任何想法?

回答

2

我的0.10歐元: (IST不容易)

建廠在

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

,並表示一個腳本類(IJScript) 一個Java接口descripted(包括運行()和getProgress()方法)

你的腳本應該看起來像這樣:

class xyscript(IJScript) : 

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

在訪問接口IJScript(Java接口)中運行腳本 (請看員工示例)