spring boot camel 3 camel-endpointdsl vs uri strings несовместимость из-за двойной косой черты //
Мы переезжаем с верблюда 2.x
верблюду 3.x
Я преобразовываю маршруты, написанные с использованием строк uri, из этих форматов определения маршрутов
//xml routes
<route>
<from uri="activemq:queue:inputqueue?disableReplyTo=true" />
<to uri="direct:loadConfiguration" />
</route>
//java routes
from("direct:loadConfiguration"))
.bean(myBean, "loadAllConfiguration(${body})");
в формат endpoint-dsl ниже:
from(activemq("loadConfiguration").disableReplyTo(true))
.to(direct("loadConfiguration"));
from(direct("loadConfiguration"))
.bean(myBean, "loadAllConfiguration(${body})");
Дело в том, что форматы URI регистрируют маршруты так:
org.apache.camel.impl.engine.AbstractCamelContext - Route: route4 started and consuming from: activemq://queue:inputqueue?disableReplyTo=true
org.apache.camel.impl.engine.AbstractCamelContext - Route: route5 started and consuming from: direct://loadConfiguration
Но новый формат camel dsl регистрирует маршруты следующим образом (без //):
org.apache.camel.impl.engine.AbstractCamelContext - Route: route4 started and consuming from: activemq:queue:inputqueue?disableReplyTo=true
org.apache.camel.impl.engine.AbstractCamelContext - Route: route5 started and consuming from: direct:loadConfiguration
Проблема заключается в том, что маршруты, которые регистрируются с двойной косой чертой, добавленной к компоненту (поведение URI), не совпадают с маршрутами, зарегистрированными без двойной косой черты (новое поведение endpoint-dsl).
И мне нужно преобразовать все маршруты, чтобы использовать URI ИЛИ endpoint-dsl. В противном случае я получаю ошибки в сообщениях о том, что для маршрута нет потребителей.direct://loadConfiguration
например... потому что from(direct("loadConfiguration"))
определяется с помощью dsl и регистрируется как direct:loadConfiguration
.
Есть ли опция конфигурации, чтобы верблюд не добавлялся //
компонентам при использовании URI или заставить верблюда игнорировать его //
?