Wildfly 8.2 - ScriptEngineManager.getEngineFactories 在服务器启动时为空
Wildfly 8.2 - ScriptEngineManager.getEngineFactories is empty on server startup
我在 Java 8(打开 JDK)上遇到 Wildfly 8.2.1 运行 的奇怪行为。我特别提到 Java 8,因为我在 Java 7.
上没有看到这个问题
在启动我的 Wildfly 模块时,我有代码使用 Java RhinoScriptEngine 加载 Java 脚本。
List<ScriptEngineFactory> engineFactories = engineManager.getEngineFactories();
ScriptEngine scriptEngine = engineManager.getEngineByName("js");
由于 scriptEngine
被分配为 null
,我添加了调试日志并注意到 engineFactories
只是一个空的 List
(好吧,engineFactories
本身只是为了调试目的而被提取)。但是,在模块启动完成后,这段代码有效,并列出了 RhinoScriptEngineFactory
.
Java8 中是否有 Wildfly 8.2 不知道的更改,或者我是否需要向我的模块添加显式依赖项?
脚本引擎管理器使用service provider机制枚举ScriptEngineFactory的所有实现。在可从
访问的资源中搜索 ScriptEngineFactory 服务描述
- Thread.currentThread().getContextClassLoader() - 构造不带参数的 ScriptEngineManage 时
- Bootrap class 加载程序 - 当使用 null 参数构造 ScriptEngineManager 时
- Class 加载程序 - 当使用特定的 class 加载程序
构造 sw 时
如何创建 ScriptEngineManager?
如果不带参数构造ScriptEngineManager:什么return Thread.currentThread().getContextClassLoader() 模块启动时和模块启动完成时?
你能为你的模块附加(上传到 pastebin 或其他地方)module.xml 吗?
在java 8 rhino 脚本引擎被nashorn 脚本引擎取代。你真的在加载模块后得到 RhinoScriptEngineFactory 吗?还是 NashornScriptEngine?
我在 Java 8(打开 JDK)上遇到 Wildfly 8.2.1 运行 的奇怪行为。我特别提到 Java 8,因为我在 Java 7.
上没有看到这个问题在启动我的 Wildfly 模块时,我有代码使用 Java RhinoScriptEngine 加载 Java 脚本。
List<ScriptEngineFactory> engineFactories = engineManager.getEngineFactories();
ScriptEngine scriptEngine = engineManager.getEngineByName("js");
由于 scriptEngine
被分配为 null
,我添加了调试日志并注意到 engineFactories
只是一个空的 List
(好吧,engineFactories
本身只是为了调试目的而被提取)。但是,在模块启动完成后,这段代码有效,并列出了 RhinoScriptEngineFactory
.
Java8 中是否有 Wildfly 8.2 不知道的更改,或者我是否需要向我的模块添加显式依赖项?
脚本引擎管理器使用service provider机制枚举ScriptEngineFactory的所有实现。在可从
访问的资源中搜索 ScriptEngineFactory 服务描述- Thread.currentThread().getContextClassLoader() - 构造不带参数的 ScriptEngineManage 时
- Bootrap class 加载程序 - 当使用 null 参数构造 ScriptEngineManager 时
- Class 加载程序 - 当使用特定的 class 加载程序 构造 sw 时
如何创建 ScriptEngineManager?
如果不带参数构造ScriptEngineManager:什么return Thread.currentThread().getContextClassLoader() 模块启动时和模块启动完成时?
你能为你的模块附加(上传到 pastebin 或其他地方)module.xml 吗?
在java 8 rhino 脚本引擎被nashorn 脚本引擎取代。你真的在加载模块后得到 RhinoScriptEngineFactory 吗?还是 NashornScriptEngine?