// If there is no existing UoW, then we should start one and
// terminate it once processing is completed for the exchange.
final DefaultUnitOfWork uow = new DefaultUnitOfWork();
exchange.setUnitOfWork(uow);
try {
uow.start();
} catch (Exception e) {
throw wrapRuntimeCamelException(e);
}
// return the process code where we do stop and cleanup
return processor.process(exchange, new AsyncCallback() {