5.4. 使用软件包扫描
Camel 还提供了强大的功能,允许在给定软件包中自动发现和初始化路由。这通过将标签添加到 spring 上下文定义中的 camel 上下文,指定要递归搜索 RouteBuilder 实施的软件包。要使用这个功能,请添加 <package></package> 标签,指定应该搜索的以逗号分隔的软件包列表。例如,
<camelContext>
<packageScan>
<package>com.foo</package>
<excludes>**.*Excluded*</excludes>
<includes>**.*</includes>
</packageScan>
</camelContext>
这会扫描 com.foo 和 sub-packages 中的 RouteBuilder 类。
您还可以使用 includes 或 excludes 过滤类,例如:
<camelContext>
<packageScan>
<package>com.foo</package>
<excludes>**.*Special*</excludes>
</packageScan>
</camelContext>
这会跳过名称中包含 Special 的类。在 include 模式之前应用排除模式。如果没有定义 include 或 exclude 模式,则返回软件包中发现的所有 Route 类。
? 匹配一个字符,APIcast 匹配零个或多个字符,** 匹配完全限定名称零个或多个片段。