1
我想通过使用用户可编辑的Groovy scriptlet来扩展我们的Java应用程序和脚本功能。Java脚本API,管理状态和通用功能
我的问题是Java脚本API文档对API使用模式有点简单。
所以我的用例是:有很多Groovy脚本(没有编码结构或对象,只是过程代码一行一行地)需要在多线程环境中完全分离和隔离运行,它们是给定一些对象来处理Bindings(所以应该可以在不同的输入参数上并行运行相同的脚本,并且我保证输入参数不是相同的对象实例)。另外我想创建一些可用于每个脚本的通用功能。
我的问题是:
- 我需要,该ScriptEngine(通过ScriptEngineManager收购),每处决或单一的ScriptEngine实例的新实例,可用于所有执行?我非常关心的是,ScriptEngine实例(及其绑定)如何在并发使用下运行。目前我在每次执行期间使用ScriptEngine.eval(Bindings)和不同的绑定。
- 我应该如何添加常用功能?如果我能以某种方式为所有脚本提供一些常用方法,那就没问题了。
- 是否有任何重大陷阱?
我认为Java API中的这一部分的相关资料很少...