2008-10-22 8 views
2

J'essaie de contrôler l'exécution d'un script Jython à partir de Java et de l'exécuter via un appel à PythonInterpreter.exec(). Le script contient des appels aux classes définies en Java. J'appellerai ces classes "commandes" pour la discussion ici. Les commandes peuvent également être exécutées sur une machine différente via RMI. Comme les commandes mettent un certain temps à se terminer, je veux vérifier la progression de l'exécution des commandes du côté de l'appelant, comme à quel pourcentage de l'exécution est terminée. Je peux fournir une méthode getProgress() aux classes mais l'accès à cette méthode semble impossible car PythonInterpreter n'autorise pas l'appelant à accéder à l'objet de commande qui s'exécute à l'intérieur.Contrôle de l'exécution d'un script Jython à partir de Java

Des idées sur comment faire cela?

Répondre

2

mon 0,10 Eur: (ist pas facile)

construire une usine comme descripted dans

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

et Java-Interface qui représente une classe de script (IJScript) (y compris Les méthodes run() et getProgress())

vos scripts devraient ressembler à ceci:

class xyscript(IJScript) : 

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

exécuter vos scripts pour accéder à l'interface IJScript (Java Interface) (regardez l'exemple des employés)