【问题标题】:Having trouble using Bean method in Apache Camel在 Apache Camel 中使用 Bean 方法时遇到问题
【发布时间】: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
  • 你有没有断言路由已经真正开始了?
  • 是的,我试图把 声明.. & 我可以看到路由里面的记录器
  • 我已经有一段时间没有用骆驼开发任何东西了,但看起来你调用的方法不正确。方法的参数应该是你的路由的有效载荷,方法只能通过名称引用:&lt;method ref="test" method="getData" /&gt;

标签: java apache-camel


【解决方案1】:

现在已经解决了.. 而不是使用 method 标签使用 bean 标签

<bean ref="test" method="getData" />

【讨论】:

    猜你喜欢
    • 2021-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 2021-10-26
    • 2021-05-14
    相关资源
    最近更新 更多