Apache Camel - Transform中的MethodNotFoundException

时间:2012-02-08 11:30:18

标签: java apache-camel

我正在尝试使用更多的骆驼路由,但我没有遇到什么麻烦。 (我正在使用camel-core_2.9.0)

我在路线定义中使用了变换方法

Object methodclass;
String methodname;

context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
    // TODO Auto-generated method stub
        from("vm:internal0").
        transform().method(methodclass, methodname).
        to("vm:receiver");
    }
});

现在是否有这个赋值(假设我的TransformLogic类使用“transform”方法)

methodclass = new TransformLogic();
methodname = "transform";

我没有问题,但如果我有这个任务

methodclass = TransformLogic.class;
methodname = "transform";
.
.

Camel thrown`

org.apache.camel.FailedToCreateRouteException: Failed to create route route3 at: >>> Transform[bean{java.lang.Class, method=transform}] <<< in route: Route[[From[vm:internal0]] -> [Transform[bean{java.lang.Clas... because of org.apache.camel.component.bean.MethodNotFoundException: Method with name: transform not found on bean: class core.compoundterm.primitiveterm.DefaultTransformLogic of type: java.lang.Class

我错在哪里? 感谢

1 个答案:

答案 0 :(得分:2)

确保TransformLogic类具有a - 默认的no-arg构造函数 - 或方法名称是公共静态方法