我正在尝试建议和模拟一条特定路线的端点,如下所示:
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/