【发布时间】:2021-08-11 03:01:58
【问题描述】:
我有一个 Java 类和一个用 XML 配置的 Camel-route,我试图从 Camel-route 调用 getData 方法,但该方法没有被调用。
Java 类:
class Test {
public String getData(String name) {
return name;
}
}
骆驼路线:
<route id="validate" autoStartup="true" streamCache="true">
<setHeader name="data">
<simple>
<method ref="test" method="getData('Test')"/>
</simple>
</setHeader>
</route>
在我的 camel-context.xml 中,我这样创建了 bean-reference:
<bean id="test" class="com.Test" />
【问题讨论】:
-
ref必须指向您的班级。请向我们展示您的 XML 的其余部分 -
@ErikKarlstrand 这是我们唯一没有写过的骆驼路线。如果有任何遗漏,请告诉我们。在 camel-context.xml 中,我们提供了映射到我们的类
的 bean id -
你有没有断言路由已经真正开始了?
-
是的,我试图把
声明.. & 我可以看到路由里面的记录器 -
我已经有一段时间没有用骆驼开发任何东西了,但看起来你调用的方法不正确。方法的参数应该是你的路由的有效载荷,方法只能通过名称引用:
<method ref="test" method="getData" />
标签: java apache-camel