【问题标题】:Does spring support invoke dynamic for groovy-backed beans?Spring 支持为 groovy-baked bean 调用动态吗?
【发布时间】:2016-02-15 18:39:27
【问题描述】:

是否可以配置使用 lang 命名空间或手动使用 GroovyScriptFactory 声明的 Groovy bean,使其使用调用动态支持?

<lang:groovy id="messenger" script-source="classpath:Messenger.groovy"> 

我没有找到任何关于这个案例的可靠文件。

而且,groovy-all:indy maven 工件提供的 GroovyClassLoader 是否使用此功能,还是只能与 groovy 编译器一起使用?

【问题讨论】:

    标签: spring groovy invokedynamic


    【解决方案1】:

    为了激活调用动态支持,您必须:

    1. 使用 groovy-indy.jar
    2. 将系统属性groovy.target.indy 设置为true 或CompilerConfiguration.DEFAULT.getOptimizationOptions().put("indy", true)

    这将为所有 groovy 编译器的调用启用此功能(Spring 将使用此选项)。我认为没有办法通过ScriptEngine 配置此选项,仅适用于脚本子集。

    如果直接使用 GroovyClassLoader,可以通过CompilerConfiguration.optimizationOptions.indy 属性提供此选项

    【讨论】:

      猜你喜欢
      • 2013-03-24
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 2012-11-15
      • 1970-01-01
      • 2014-02-16
      • 1970-01-01
      相关资源
      最近更新 更多