camel getRouteDefinitions找不到路线

时间:2016-07-18 07:58:43

标签: java unit-testing apache-camel

在单元测试中,我尝试获取路由定义以模拟某个端点。但找不到路线。我的单元测试代码是

@Autowired
CamelContext context;
List<RouteDefinition> defs = context.getRouteDefinitions();

服务运行正常,特别是找到并使用了有问题的路线。单元测试使用与生产代码相同的配置。尽管如此,虽然defs拥有我的许多路由,但是在特定bean中定义的所有路径都缺失了。这个bean以与保存其他路由的bean相同的配置(也用于生产)加载,我看不出它们之间有任何区别。

创建一个最小的例子似乎很困难,因为服务非常复杂。所以,首先我想询问getRouteDefinitions()是否存在任何已知问题。

1 个答案:

答案 0 :(得分:0)

context.getRouteDefinitions() 贬值和删除。

旧用法 -

context.getRouteDefinitions().get(0).adviceWith(context, new AdviceWithRouteBuilder(){})

替换为 -

context.addRoutes(new AdviceWithRouteBuilder(){})

迁移指南 - https://camel.apache.org/manual/latest/camel-3-migration-guide.html