Bonjour![]()
je galère pas mal pour stopper un traitement dans mon appli Java.
J'ai un objet Java (pour info : un interpréteur BeanShell) qui exécute un traitement long que je voudrais stopper (l'exécution de la méthode source(...) peut être plus ou moins long).
Je pensais lancer le traitement dans une Thread et tuer cette Thread depuis une autre mais ça ne peux pas marcher car "maThread.interrupt()" n'arrête pas dans tous les cas une Thread et les autres méthodes du style "stop" "destroy"... ne sont pas utilisables.
Et donc, même depuis une autre Thread, je n'arrive pas à stopper cette exécution, même si j'essaie de faire planter mon interpéteur par "monInterpeteur.source(<des paramètres au pif pour que ça plante !>) en parallèle.
J'ai tenté de lancer un nouveau processus avec une nouvelle JVM pour killer directement un processus mais le traitement doit partager des objets avec mon appli (partage d'objets entre 2 JVM). J'ai donc utilisé RMI mais la mise en oeuvre de RMI est trop lourde dans mon cas (trop de méthodes appelées, trop d'interfaces... objets statiques pas sérializable... trop gênant pour le futur de l'appli).
Je ne sais plus quoi faire.
Si vous avez une idée, merci d'avance.
Partager