我一直在尝试从Camel 2. x迁移到3.x,并且在Spring Boot集成方面遇到了一些问题。
在Camel 2. x中,我设法禁用了用@Component
注释的RouteBuilder
实例的自动注入,但骆驼Spring提供了其他好处。我这样做是因为我有一个从RouteBuilder扩展的原型bean,并且我根据需要手动将它们添加到骆驼上下文中。
使用Camel 3. x,我不能这样做。我无法从类中删除@Component
注释,因为我需要Spring向类注入其他依赖项。Camel 3.x有办法做到这一点吗?
RouteBuilder
实例的自动发现和注册到CamelContext
可以使用属性camel. springboot.rouths-cater-able=false
禁用。
请参阅Camel Spring Boot文档:
骆驼。Spring引导。路线-收集器-启用
路由收集器是否启用。启用后,Camel将从注册表自动发现路由(RouteBuilder实例,并从文件系统加载其他XML路由。路由收集器默认启用。
禁用Camel自动配置(例如在测试中)
@EnableAutoConfiguration(exclude = CamelAutoConfiguration.class)