我们正在从骆驼迁移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
但是新的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 行为)与没有双斜杠注册的路由不匹配(新的端点-dsl 行为)。
而且我必须将所有路由转换为使用 URI 或端点 dsl。否则我会收到错误消息,例如告诉路由没有消费者direct://loadConfiguration
......因为from(direct("loadConfiguration"))
是使用 dsl 定义的,并且它被注册为direct:loadConfiguration
.
是否有一个配置选项可以让骆驼//
在使用 URI 时不附加到组件或让骆驼忽略它//
?