Camel Routes and Endpoints

Я изучал документы Apache Camel, пытаясь получить конкретное представление о двух из его наиболее основных концепций (конечные точки и маршруты) , а также хотя эти термины используются повсюду в документации, я не могу найти ссылки, которая действительно определяла бы, что они собой представляют и для чего они используются. И хотя их имена звучат довольно банально, и я думаю, я понимаю, что они из себя представляют, теперь мне поручили задачу, которая заставила меня по уши в Apache Camel Land, и это абсолютно необходимо что я понимаю, что это за механизмы.

Я предполагаю, что «конечная точка» - это просто bean-компонент, который может быть настроен в файле конфигурации, как и любой другой, который сопоставляет имя с комбинацией URI / порта (это взято из документации W3C).В контексте Apache Camel, мое предположение состоит в том, что конечные точки используются для соединения компонентов вместе, так что между ними могут быть сформированы «маршруты» (соединения / карты). Поэтому, когда Компонент A, находящийся в Конечной точке 1, хочет общаться с Компонентом B, живущим в Конечной точке 2, до тех пор, пока существует отображение от 1 до 2, Camel сможет передавать сообщения между этими двумя.

Пожалуйста, остановите меня и поправьте, если я ошибаюсь!

Итак, теперь я видел примеры, в которых кажется, что маршруты могут быть настроены на Java:

from("endpointA").routeId("someMessage").to("endpointB");

И я видел примеры, в которых похоже, что маршруты могут быть настроены в XML:

<route id="">
    <from .../>
    <to .../>
</route>

Эти два метода для настройка маршрутов, или это совершенно разные концепции?

Наконец, каков формат сообщений, которые могут маршрутизироваться между конечными точками? Если это должен быть XML, например, что такое XSD / схема этих перенаправленных сообщений? Если это должен быть объект Java, какие границы / ограничения применяются к объектам, которые Camel может отправлять?

17
задан Makoto 24 October 2018 в 21:56
поделиться