跨类加载器的Java8脚本引擎
我需要在不同的类加载器中执行一些javascript代码。如果是java,则每个任务将在单独的类装入器中运行。现在我需要这是javascript跨类加载器的Java8脚本引擎,java,java-8,classloader,nashorn,Java,Java 8,Classloader,Nashorn,我需要在不同的类加载器中执行一些javascript代码。如果是java,则每个任务将在单独的类装入器中运行。现在我需要这是javascript 我是否需要在每个类加载器中创建ScriptEngine的新实例,还是可以跨类加载器共享一个实例?从您的问题来看,不清楚您为什么要寻找这样的类加载器隔离。所以,我在这里总结nashorn的类加载器-也许,你会得到你想要的 Nashorn和类加载器: Nashorn类(jdk.Nashorn.*)由Java扩展类加载器加载 生成的脚本类、适配器(子类、脚本
我是否需要在每个类加载器中创建
ScriptEngine
的新实例,还是可以跨类加载器共享一个实例?从您的问题来看,不清楚您为什么要寻找这样的类加载器隔离。所以,我在这里总结nashorn的类加载器-也许,你会得到你想要的
Nashorn和类加载器:
希望这有帮助。“如果您创建了Nashorn引擎”-您是指
新的ScriptEngineManager()。getEngineByName(“Nashorn”)
?换句话说,这总是创建新的ScriptEngine
;在调用此方法之前,我应该设置threadctx类加载器?是的,这就是我的意思-在创建新的nashorn引擎之前设置thread context类加载器。Thanx,你说的一切都很完美。嗨,我也有同样的问题,并将自定义类加载器应用为thread的contextClassLoader,但它似乎不起作用,有什么想法吗!