我写了一个servlet,它收集了一个java脚本代码并处理它并返回答案.因为我使用了java脚本API
在下面的代码中,如果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);
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果需要太长时间(比如15秒),我如何杀死eval过程?
谢谢