gpt4 book ai didi

apache-camel - 如何使用 Java DSL 在 Apache Camel 中调用带参数的方法

转载 作者:行者123 更新时间:2023-12-01 22:09:43 26 4
gpt4 key购买 nike

如何使用 Java DSL 调用 Camel Route 中的方法?如果我使用错误的方法签名,我想在 Eclipse 中出现编译时错误。

.bean(Foo.class, "setDetails("1", "Camel")")

这里我不会因为方法签名错误而得到编译时错误,因为方法是在字符串中定义的。

最佳答案

据我所知,这是不可能的,因为 Camel 通过反射 API 调用该方法。

您可以做的是在 Foo.class 中使用方法名称创建常量,然后在 bean 调用中使用常量而不是硬编码的方法名称字符串。

但即便如此,您当然也可以在不调整常量的情况下重命名 bean 中的方法。功能会被破坏,但编译器仍然会很高兴。

如果 bean 专用于 Camel 路由并在您的控制之下,您能做的最好的事情就是重构 bean。

  • 移除方法参数,将它们设置在消息交换上并用@Header@Property注入(inject)它们
  • 将 bean 拆分成非常小的 bean,只有一种方法去掉方法名

关于apache-camel - 如何使用 Java DSL 在 Apache Camel 中调用带参数的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48897207/

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