Sto provando a chiamare una funzione in JavaScript tramite Java. Funziona bene quando si legge direttamente uno script come una stringa, ma sto usando CompiledScripts.javax script come chiamare una funzione in JavaScript da Java
Quando faccio questo con uno script compilato, mi dà il metodo non trovato se aggiungo anche i binding. Senza binding funziona ma ovviamente la funzione fallisce perché ha bisogno dei binding.
Qualche idea?
CompiledScript script = ... get script....
Bindings bindings = script.getEngine().createBindings();
Logger scriptLogger = LogManager.getLogger("TEST_SCRIPT");
bindings.put("log", scriptLogger);
//script.eval(bindings); -- this way fails
script.eval(); // -- this way works
Invocable invocable = (Invocable) script.getEngine();
invocable.invokeFunction(methodName);
TIA