Ну, Camel - это библиотека интеграции, которую можно использовать во многих средах . Может использоваться автономно, с Spring Framework, в Apache Karaf et c. Итак, это первое замечание:
Когда Camel используется без Spring, ничего не стоит, если Spring имеет отличную поддержку REST.
Camel превосходит более 200 компоненты. Он поддерживает в основном все (протоколы, форматы данных и c), которые там используются, и абстрагирует большую часть раздражающего кода транспортного уровня от вас . Вы просто используете DSL для построения интеграции между различными типами конечных точек.
rest("/orders")
.post()
.to("activemq:queue:myQueue")
Это 3-строчная интеграция Camel, которая принимает вызовы REST от клиентов (POST) и отправляет полученные данные в очередь сообщений JMS. Здесь мы получили второй пункт:
Даже если Spring доступен, Camel должен обеспечить поддержку REST в Camel DSL, чтобы разрешить интеграцию REST с другими конечными точками
И да, Конечно, вы можете использовать Spring Framework для создания службы REST, а затем вызывать эту службу REST с верблюжьего маршрута. Но то, что невозможно, использует этот сервис Spring REST в качестве потребителя верблюжьего маршрута (пример из 3 строк выше).