Я изучал документы Apache Camel, пытаясь получить конкретное представление о двух из его самых основных концепций (конечные точки и маршруты), и хотя эти термины используются повсеместно в документах, яне может найти ссылку, которая на самом деле определяет, что они и для чего они используются.И хотя их имена звучат довольно очевидно, и я думаю Я понимаю, что они собой представляют, но теперь я получил задание, которое покорило меня до глубины души в Apache Camel Land, и это абсолютно жизненно важночто я понимаю, что это за механизмы.
Я предполагаю, что «конечная точка» - это просто bean-компонент, который можно настроить в файле конфигурации, как и любой другой, - который сопоставляет имя с URI / combo port(это взято из документации 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?