在单元测试中,我尝试获取路由定义以模拟某个端点。但找不到路线。我的单元测试代码是
@Autowired
CamelContext context;
List<RouteDefinition> defs = context.getRouteDefinitions();
服务运行正常,特别是找到并使用了有问题的路线。单元测试使用与生产代码相同的配置。尽管如此,虽然defs
拥有我的许多路由,但是在特定bean中定义的所有路径都缺失了。这个bean以与保存其他路由的bean相同的配置(也用于生产)加载,我看不出它们之间有任何区别。
创建一个最小的例子似乎很困难,因为服务非常复杂。所以,首先我想询问getRouteDefinitions()
是否存在任何已知问题。
答案 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