首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Java DSL调用Apache Camel中的参数方法

如何使用Java DSL调用Apache Camel中的参数方法
EN

Stack Overflow用户
提问于 2018-02-21 02:18:05
回答 4查看 8K关注 0票数 2

如何使用Java DSL调用骆驼路由中的方法?如果方法使用了错误的签名,我希望在Eclipse中获得编译时错误。

代码语言:javascript
运行
复制
.bean(Foo.class, "setDetails("1", "Camel")")

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

EN

Stack Overflow用户

回答已采纳

发布于 2018-02-21 06:27:29

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

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

但是即使这样,您也可以在bean中重命名一个方法,而不需要调整常量。功能将被破坏,但编译器仍然会很高兴。

如果这个bean专门用于骆驼路线并在您的控制下使用,那么最好的方法就是重构这个bean。

  • 删除方法参数,在消息交换中设置它们,并将它们注入@Header@Property
  • 将bean分割成非常小的bean,只有一个方法可以去掉方法名。
票数 2
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48897207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档