示例#1
0
  protected void initScriptEngine() {
    if (log.isDebugEnabled()) {
      log.debug("Initializing script mediator for language : " + language);
    }

    ScriptEngineManager manager = new ScriptEngineManager();
    manager.registerEngineExtension("js", new RhinoScriptEngineFactory());
    manager.registerEngineExtension("groovy", new GroovyScriptEngineFactory());
    manager.registerEngineExtension("rb", new JRubyScriptEngineFactory());
    this.scriptEngine = manager.getEngineByExtension(language);
    if (scriptEngine == null) {
      handleException("No script engine found for language: " + language);
    }
    xmlHelper = XMLHelper.getArgHelper(scriptEngine);

    this.multiThreadedEngine = scriptEngine.getFactory().getParameter("THREADING") != null;
    log.debug(
        "Script mediator for language : "
            + language
            + " supports multithreading? : "
            + multiThreadedEngine);
  }