Основное отличие состоит в том, что CamelContext#removeRouteDefinition
изящно останавливает маршрут, а затем удаляет его из Context
.
Метод CamelContext#removeRoute
позволяет удалить только остановленный маршрут. Если вы попытаетесь удалить текущий маршрут, метод вернет false и ничего не произойдет.
Итак, эти два фрагмента являются эквивалентами:
removeRouteDefinition
getContext().removeRouteDefinition(getContext().getRouteDefinition("routeId"));
removeRoute
getContext().stopRoute("routeId");
getContext().removeRoute("routeId");