我正在使用JRuby从Java运行Ruby脚本,如下所示:
public class ScriptletRunnable implements Runnable {
@Override
public void run() {
ScriptingContainer scriptingContainer = new ScriptingContainer();
scriptingContainer.runScriptlet(/*My script*/); // this is a blocking call, never returns
}
}
我将此runnable传递给新线程并启动线程。当我想停止运行脚本时,我似乎找不到告诉ScriptingContainer
停止执行脚本的方法。即使我将其作为成员并在其上调用terminate()
,脚本也不会停止。如果从命令行运行脚本,则可以使用Ctrl+C
将其彻底关闭。必须有办法通过JRuby实现这一目标。