如何使用Java DSL调用骆驼路由中的方法?如果方法使用了错误的签名,我希望在Eclipse中获得编译时错误。
.bean(Foo.class, "setDetails("1", "Camel")")在这里,我不会得到错误的方法签名的编译时错误,因为方法是在字符串中定义的。
发布于 2018-02-21 06:27:29
据我所知,这是不可能的,因为Camel通过反射API调用该方法。
您可以做的是用方法名在Foo.class中创建常量,然后在bean调用中使用常量,而不是硬编码的方法名称字符串。
但是即使这样,您也可以在bean中重命名一个方法,而不需要调整常量。功能将被破坏,但编译器仍然会很高兴。
如果这个bean专门用于骆驼路线并在您的控制下使用,那么最好的方法就是重构这个bean。
@Header、@Property发布于 2018-02-21 07:30:25
尝尝这个
.bean(Foo.class, "setDetails(1, 'Camel')")发布于 2019-04-30 10:49:22
根据文档,从camel 2.9开始,您可以在方法调用(使用示例)中传递一个整数和一个字符串作为参数,如下所示:
.bean(Foo.class, "setDetails(1, 'camel')") 或
.to("bean:Foo?method=setDetails(1, 'camel')")https://stackoverflow.com/questions/48897207
复制相似问题