Заранее: я не уверен на 100% в длинном ответе, поэтому, пожалуйста, поправьте меня, если я здесь в корне ошибочен!
Short :
Базовое определение , данное официальным документом Apache Camel, гласит:
RouteBuilder - это базовый класс, созданный для создания
правила маршрутизации с использованием DSL. Затем добавляются экземпляры RouteBuilder
к CamelContext.
Long :
Routebuilder - абстрактный класс. При реализации собственного маршрута вы обычно выходите из этого класса RouteBuilder (как уже упоминалось выше).
Как следствие, вы должны реализовать метод configure()
, в котором вы реализуете маршрут (from()
/ .to()
/ .process()
и т. Д.)
Я почти уверен, что можно реализовать маршрут без расширения RouteBuilder, но тогда вам придется пересобрать фреймворк, предоставленный apache camel. Весь синтаксис (from()
/ .to()
/ .process()
и т. Д.) Для реализации маршрутов обеспечивается расширением класса Routebuilder.
Apache Camel - это фреймворк. Чтобы использовать фреймворк, ваш «маршрутный класс» должен наследоваться от базовых классов данного фреймворка. В противном случае вы не сможете использовать фреймворк, который уже предлагает огромную часть реализации.
Если Клаус Ибсен ответит на ваш вопрос, придерживайтесь его ответа, он знает практически все о apache camel.