2016-04-29 44 views
1

我目前有一个具有2个子类的对象的情况,我想有一个typeConverter使用父类和分别管理每个子类的逻辑是可能的吗?骆驼类型转换器和对象继承

class MyParent {} 
class SubClass1 extends MyParent {} 
class SubClass2 extends MyParent {} 

目前,我收到我在使用拆分()的列表,我想要的类型转换当我尝试这样做是为了管理子

from("direct:source") 
    .split(body()).streaming() 
     .beanRef(MyBean.class, "myMethod"); 


class MyBean { 
    public void myMethod(MyParent parent) { 
     //TODO stuff 
    } 
} 

,骆驼抛出异常说TypeConverter的不为SubClass1和SubClass2找到。我该如何妥善管理?

回答

1

您可以为SubClass1和SubClass2编写2个类型转换器,然后调用共享部分的一些通用代码。

或者您可以使用回退式转换器。

您可以在骆驼文档中找到更多详细信息:http://camel.apache.org/type-converter.html