【发布时间】:2018-05-19 12:50:39
【问题描述】:
当我尝试在 Apache Camel 中配置新的直接端点时,我的 RouteBuilder 的 configure()-Method 没有启动,我无法找出原因。
我有一个方法 configureRESTRoute(),我通过以下方式实现了它:
private RouteBuilder configureRESTRoute(DataSource ds) {
RouteBuilder restRoute = new RESTRoute() {
@Override
public void configure() throws Exception {
from("direct:" + ds.getConfig().get("SOURCENAME"))
.log("----Configuring new REST Route----: " + "direct:" + ds.getConfig().get("SOURCENAME"))
.setHeader(Exchange.HTTP_PATH, simple((String) ds.getConfig().get("HTTP_PATH")))
.setHeader(Exchange.HTTP_METHOD, constant("GET"))
.to("http4:" + ds.getConfig().get("HTTP_HOST"))
.log("----Successfully configured----");
}
};
return restRoute;
}
DataSource 类包含特定数据源的配置详细信息的映射。在这种方法中,我试图构建一个稍后添加到 CamelContext 的路由。目前它返回一个空路由,因为 configure() 方法被跳过。不幸的是,没有抛出异常或任何其他类型的错误消息。
【问题讨论】:
-
configure()方法将在RouteBuilder添加到上下文后被调用。它被称为方法Context#addRoutes的一部分。
标签: java apache-camel