gpt4 book ai didi

java - 如何设置 apache Camel Groovy 脚本组件的属性

转载 作者:行者123 更新时间:2023-12-02 12:11:35 24 4
gpt4 key购买 nike

我正在使用 apache Camel 脚本组件来调用外部 groovy 文件。

     from("activemq:queue:test.ChooseIManger")
.script().groovy("resource:classpath:tests/port/test.gsh")

我想在调用此脚本时传递一些属性。我可以使用简单的 java 代码来做到这一点,如下所示。

        Binding binding = new Binding();
binding.setProperty("INPUTS", inputs);
binding.setProperty("RESULT", results);

GroovyShell shell = new GroovyShell(binding);
Object script = shell.evaluate(getScript("tests/port/test.gsh"));

但是我们如何像这样在camel路由器中绑定(bind)属性。

谢谢

最佳答案

根据documentation看来您应该能够通过使用自定义 GroovyShellFactory 来重载默认的 Groovy 实例。

根据您提供的信息,类似如下:

public class CustomGroovyShellFactory implements GroovyShellFactory {

public GroovyShell createGroovyShell(Exchange exchange) {
Binding binding = new Binding();
binding.setProperty("INPUTS", inputs);
binding.setProperty("RESULT", results);
return new GroovyShell(binding);
}
}

然后将该 bean 添加到您的上下文中。

关于java - 如何设置 apache Camel Groovy 脚本组件的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46510504/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com