Je suis face à un comportement bizarre avec wildfly 8.2.1 en cours d'exécution sur Java 8 (Open JDK). Je mentionne spécifiquement Java 8, parce que je n'ai pas vu ce problème sur Java 7.wildfly 8.2 - ScriptEngineManager.getEngineFactories est vide au démarrage du serveur
Pendant que mon module Wildfly est démarré, j'ai du code qui charge JavaScripts en utilisant Java RhinoScriptEngine.
List<ScriptEngineFactory> engineFactories = engineManager.getEngineFactories();
ScriptEngine scriptEngine = engineManager.getEngineByName("js");
Depuis scriptEngine
a été désigné comme étant null
, j'ai ajouté les journaux de débogage et remarqué que engineFactories
est juste un vide List
(bien, le engineFactories
lui-même est tiré par les cheveux que pour des fins de débogage). Mais, après le démarrage du module est terminé, ce code fonctionne, et répertorie les RhinoScriptEngineFactory
.
Y at-il quelque chose qui a été changé en Java 8 que wildfly 8.2 ne connaît pas, ou dois-je ajouter des dépendances explicites à mon module?
Vous devrez peut-être utiliser '" nashorn "' à la place de '" js "'. Ou, je pense, '' javascript ''peut fonctionner à la fois pour Rhino et Nashorn. Désolé de ne pas être plus définitif; J'essaie de voir ce que fait mon propre code. – Pointy
Mais, le même code fonctionne parfaitement, via une autre fonctionnalité de l'application, une fois le démarrage terminé. Et il utilise le moteur Rhino. – aathif
Oui cela semble étrange. – Pointy