【发布时间】:2010-12-08 17:52:42
【问题描述】:
我编写了一个 servlet,它接收 java 脚本代码并对其进行处理并返回答案。为此,我使用了 java 脚本 API
在下面的代码中 if script = "print('Hello, World')";代码将正确结束打印“hello world”。 但是如果 script = "while(true);"脚本将无限循环。
import javax.script.*;
public class EvalScript {
public static void main(String[] args) throws Exception {
// create a script engine manager
ScriptEngineManager factory = new ScriptEngineManager();
// create a JavaScript engine
ScriptEngine engine = factory.getEngineByName("JavaScript");
// evaluate JavaScript code from String
engine.eval(script);
}
}
我的问题是如何终止 eval 进程以防它花费太长时间(比如说 15 秒)?
谢谢
【问题讨论】: