我在 Camel 上下文中有几条路线和许多端点。所以需要获取一个Route创建的所有端点:
CamelContext context = new DefaultCamelContext();
RouteBuilder route1 = new RouteBuilder() {
public void configure() {
from("file:data/inbox?noop=true")
.routeId("myRoute1")
.enrich("http://website.com/file.txt")
.to("file:data/outbox")
.to("mock:someway");
}
};
RouteBuilder route2 = new RouteBuilder() {
public void configure() {
from("file:data/outbox?noop=true")
.routeId("myRoute2")
.to("mock:myMom");
}
};
context.addRoutes(route1);
context.addRoutes(route2);
context.start();
// TODO
context.stop();
在停止之前,我需要获取由 myRoute1 创建的所有端点 ???例如:
1.file://数据/发件箱 2.模拟://某种程度上 3. http://website.com/file.txt 4.file://data/inbox?noop=true
我只能获取 Camel 上下文的所有端点:context.getEndpoints()
最佳答案
端点不与单个路由相关联,因为它可以在多个路由之间重复使用。所以你无法从端点本身真正找到答案。但是您可以做的是在添加路由之前将所有端点存储在本地列表中,然后再次获取所有端点,然后比较这两个端点列表。然后通过新路由添加所有新端点。
关于java - 如何找到路线的所有端点(Apache Camel,Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52006053/