java - Apache Camel mockEndpoints() 模拟所有端点,而不是仅模拟建议路由中的端点

标签 java apache-camel

我正在尝试建议和模拟一条特定路线的端点,如下所示:

RouteDefinition route = context.getRouteDefinition("process-search");
        route.adviceWith(context, new AdviceWithRouteBuilder() {
            @Override
            public void configure() throws Exception {
                mockEndpoints();
            }
        });

在这里,我希望 mockEndpoints 只会模拟建议的 process-search 路由中的端点,但我看到 Camel Context 中的端点正在被建议,就好像我是使用 context.getRouteDefinitions() 然后单独建议每条路线。

来自 mockEndpoints() JavaDocs -

Mock all endpoints in the route.

我假设端点不与特定端点关联,它们被重用。但在那种情况下,我如何才能将建议限制为仅针对特定路由的端点,而无需手动明确引用它们。

Camel 的版本是 2.17.0.redhat-630310

最佳答案

javadoc 有点错误,它实际上是在模拟所有路由的所有端点。您只能通过使用过滤器、通配符等来自动模拟。我们将为 future 的 Camel 版本更新 javadoc。

您希望仅限制在 route 的端点的具体原因是什么。一个端点可以在其他路由等之间共享,例如当您将路由链接在一起时等。模拟其他端点进行测试也不会影响这些端点。

关于java - Apache Camel mockEndpoints() 模拟所有端点,而不是仅模拟建议路由中的端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54756463/

相关文章:

java - Java中如何检查一个元素是否是一个类的实例?

java - Android 将值从子 fragment 传递回父 fragment

java - 如何使用键盘箭头键将行标题 JTable 滚动与另一个表同步

java - Apache Camel Sticky Http 路由

java - xml DSL 中的 Camel 谓词示例

java - MongoDb 在其 java 驱动程序中的 $set 等效项

java - 在 Java ArrayList 中删除对象 - 耗时

java - 如何使用 Camel 中的蓝图模拟端点?

java - Apache :Camel Request body gets lost after using log component

java - IllegalAccessException : Class org. apache.camel.component.bean.MethodInfo 无法使用修饰符 "public"访问类的成员