Camel Spring Boot 扫描 RouteBuilder 的 Spring 上下文。˚F ROM中的文档:
Camel 自动配置从 Spring 上下文中收集所有 RouteBuilder 实例,并自动将它们注入到提供的 CamelContext 中。这意味着使用 Spring Boot starter 创建新的 Camel 路由就像将 @Component 注释类添加到类路径一样简单
有没有办法控制这个:包含/排除包或类。
我想注释某些 RouteBuilders 并让 Camel 排除它们。我的意图是稍后将它们动态添加到 CamelContext 中。
您可以使用这些设置为 SpringBootTest Annotation 的属性。
这些是通过src文件夹搜索匹配RouteBuilder的ant 样式属性
模式示例:
// Fix test runner
@RunWith(CamelSpringBootRunner.class)
// Your spring boot application with the main method
@SpringBootTest(classes = {SpringBootTestRunner.class},
// Finds all routes in your whole src folder that start with 'SomeRoute', e.g. SomeRouteOne
properties = {"camel.springboot.java-routes-include-pattern=**/SomeRoute*"})
public class SomeRouteOneTestCase {
... // Unit Tests
}
Run Code Online (Sandbox Code Playgroud)
修复类示例:
// Fix test runner
@RunWith(CamelSpringBootRunner.class)
// Your spring boot application with the main method
@SpringBootTest(classes = {SpringBootTestRunner.class},
// Find the RouteBuilder 'SomeRouteTwo' in the package 'com.foo.bar' and nothing more
properties = {"camel.springboot.java-routes-include-pattern=com/foo/bar/TestRouteTwo"})
public class TestRouteTwoTestCase {
... // Tests
}
Run Code Online (Sandbox Code Playgroud)
java-routes-exclude-pattern以相同的方式工作,只是排除列出的路由构建器。
希望这可以帮助。
问候
克里斯
| 归档时间: |
|
| 查看次数: |
1455 次 |
| 最近记录: |