мы находимся в процессе преобразования текущего проекта spring в spring boot и в то же время преобразования всех Spring beans из xml в Java config на основе.
я застрял, Преобразуя конфигурацию Camel xml в конфигурацию на основе java.
в настоящее время мы указаны camel config, маршруты и конечные точки, один пример, как показано ниже
<camel:camelContext id="camelClient">
<camel:template id="camelTemplate"/>
</camel:camelContext>
<template id="camelTemplate"/>
вот несколько конечных точек
<endpoint id="archiveUserQueue"
uri="swiftmq:${hk.jms.archive.queue.name}?concurrentConsumers=${hk.jms.archive.queue.consumers}"/>
<endpoint id="directSmsNotification" uri="direct:sendSMS"/>
один из определенных маршрутов
<route>
<from ref="directSmsNotification"/>
<to uri="bean:messengerService?method=sendSmsMessage"/>
</route>
в коде java мы получаем доступ к конечной точке, как показано ниже
smsEndpoint = _camelContext.getEndpoint("directSmsNotification");
как мы можем преобразовать конфигурацию camel из xml в конфигурацию на основе java.
я следовал инструкциям, указанным на http://camel.apache.org/spring-java-config.html но это было слишком трудно понять, так как я не знаком с Camel.
Вы можете смешивать и сопоставлять Spring Java config с Apache Camel XML config. Я спрашиваю, почему вы делаете это преобразование в первую очередь.
Тем не менее, если вы посмотрите на Camel docs, вы увидите пример работы с RouteBuilder .
Вы также можете посмотреть пример приложения spring-boot . Вот модифицированный RouteBuilder из этого примера:
Update: я изменил фрагмент, чтобы показать получение конечной точки напрямую. Дополнительную информацию можно получить в документах Camel. Я не уверен, насколько распространен этот подход. В прошлом, когда я регулярно использовал Camel, конечные точки были настроены декларативно через их значения URI. Я не думаю, что я когда-либо явно определил конечную точку в моем коде Camel XML или Java. Я уверен, что для этого есть варианты использования, но для вас может быть проще настроить только URI.