Мы мигрируем с верблюда 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})");
в формат конечной точки-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
Но новый верблюжий формат 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
Проблема в том, что маршруты, которые регистрируются с двойным sla * sh, добавленным к компоненту (поведение URI), не сопоставляются с маршрутами, зарегистрированными без двойного sla * sh (новое поведение endpoint-dsl).
И мне нужно преобразовать все маршруты, чтобы использовать либо URI, либо endpoint-dsl. В противном случае я получаю ошибки в сообщениях, говорящих, что для маршрута direct://loadConfiguration
, например, нет потребителей ... потому что from(direct("loadConfiguration"))
определяется с помощью dsl, и он регистрируется как direct:loadConfiguration
.
Есть ли параметр конфигурации для заставить верблюда не добавлять //
к компонентам при использовании URI или заставить верблюда игнорировать его //
?