2016-04-29 5 views
1

Ich habe derzeit eine Situation mit einem Objekt, das 2 Unterklassen hat und ich möchte, dass ein TypConverter die Elternklasse verwenden und die Logik für jede Unterklasse separat verwalten ist das möglich?Camel TypeConverters und Object Vererbung

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

I erhalten derzeit eine Liste, die ich eine gespaltene verwenden() auf und ich einen Typkonverter wollte die Subklassen

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


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

zu verwalten Wenn ich versuche, dies zu tun, Kamel wirft sagen Ausnahmen Typeconverter nicht gefunden für SubClass1 und SubClass2. Wie kann ich das richtig handhaben?

Antwort

1

Sie können 2 Typkonverter für SubClass1 und SubClass2 schreiben und dann einen gemeinsamen Code für den gemeinsamen Teil aufrufen.

Oder Sie können einen Fallback-Konverter verwenden.

Weitere Informationen finden Sie in der Camel-Dokumentation: http://camel.apache.org/type-converter.html