Apache Camel предлагает несколько способов выполнения преобразований данных: концепция Transform EIP, настраиваемые форматы данных, а также возможность использования настраиваемых преобразователей типов.
У меня есть ситуация, когда мне нужно сделать очень сложное преобразование внутри маршрута Camel. Должен ли я реализовывать свой собственный преобразователь типов, свой собственный формат данных или мне следует реализовать org.apache.camel.Expression
и поместить туда все материалы для преобразования:
public class MyTransformer implements Expression {
@Override
public <T> T evaluate(Exchange arg0, Class<T> arg1) {
// ...
}
}
Думаю, я не понимаю, где и когда уместно использовать собственный преобразователь типов, когда использовать процессор .transform(myTransformer)
или когда использовать пользовательский формат данных. Заранее спасибо!