java - 如何找到路线的所有端点(Apache Camel,Java)

标签 java apache-camel

我在 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/

相关文章:

concurrency - Akka 会淘汰 Camel 吗?

java - 如何使用 apache Camel 从目录中删除文件

java - Parcelable 实现不起作用。应用程序仍会在设备旋转时进行网络调用

java - 如何将 Apache Camel 集成到 Java Spring 3.0 Web 应用程序中以导入数据

java - sha-1 是否会为小于 160 位的输入消息产生冲突?

java - 我应该使用哪个流在 java 中通过网络传输自定义文件(例如 jpeg 或 mp3)?

java - ContextLoaderListener 的问题

java - 在 Karaf 中使用 Oracle 驱动程序和 Apache Camel SQL 组件

java - 如何在 Java 中泛化适配器类

java - 如何使用 wsimport 创建包含 .java 文件的 jar 客户端