是否可以配置使用lang命名空间或手动使用GroovyScriptFactory声明的 Groovy bean ,使其使用调用动态支持?
<lang:groovy id="messenger" script-source="classpath:Messenger.groovy">
我没有找到任何关于此案的可靠文件。
而且,groovy-all:indy maven 工件提供的 GroovyClassLoader 是否使用此功能,还是只能与 groovy 编译器一起使用?
是否可以配置使用lang命名空间或手动使用GroovyScriptFactory声明的 Groovy bean ,使其使用调用动态支持?
<lang:groovy id="messenger" script-source="classpath:Messenger.groovy">
我没有找到任何关于此案的可靠文件。
而且,groovy-all:indy maven 工件提供的 GroovyClassLoader 是否使用此功能,还是只能与 groovy 编译器一起使用?
为了激活调用动态支持,您必须:
groovy.target.indy
为 true 或CompilerConfiguration.DEFAULT.getOptimizationOptions().put("indy", true)
这将为 groovy 编译器的所有调用启用此功能(Spring 将使用此选项)。我认为没有办法通过ScriptEngine
, 仅针对脚本的子集来配置此选项。
如果直接使用 GroovyClassLoader,可以通过CompilerConfiguration.optimizationOptions.indy
属性提供这个选项