You don't have to implement the DozzerBeanMapper
yourself. From the Camel documentation:
<!-- the registry will be scanned and 'mapper' below will be found and installed -->
<bean id="dozerConverterLoader" class="org.apache.camel.converter.dozer.DozerTypeConverterLoader" />
<bean id="mapper" class="org.dozer.DozerBeanMapper">
<property name="mappingFiles">
<list>
<value>dozer-mapping.xml</value>
</list>
</property>
</bean>
A typical route definition would look as follows:
<route><from uri="direct:service-in"/>
<to uri="bean:employee-processor"/>
<to uri="mock:verify-model"/>
</route>
<bean id="employee-processor" class="do.EmployeeProcessor"/>
The processor expects an object of type dp.Employee1
:
public class EmployeeProcessor {
public dp.Employee1 processCustomer(dp.Employee1 employee) {
System.out.println("Processing employee "+employee.getEname());
return employee;
}
}
The route is started with an object of type dp.Employee
:
template.sendBody("direct:service-in", new dp.Employee employee);
That way, Camel automatically converts the input object of type dp.Employee
to an object of type dp.Employee1
.
A full example can be found here.