Camel 还提供了强大的功能,允许在给定软件包中自动发现和初始化路由。这通过将标签添加到 spring 上下文定义中的 camel 上下文,指定要递归搜索 RouteBuilder 实施的软件包。要使用这个功能,请添加 <package></package> 标签,指定应该搜索的以逗号分隔的软件包列表。例如,
<camelContext>
<packageScan>
<package>com.foo</package>
<excludes>**.*Excluded*</excludes>
<includes>**.*</includes>
</packageScan>
</camelContext>
<camelContext>
<packageScan>
<package>com.foo</package>
<excludes>**.*Excluded*</excludes>
<includes>**.*</includes>
</packageScan>
</camelContext>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
<camelContext>
<packageScan>
<package>com.foo</package>
<excludes>**.*Special*</excludes>
</packageScan>
</camelContext>
<camelContext>
<packageScan>
<package>com.foo</package>
<excludes>**.*Special*</excludes>
</packageScan>
</camelContext>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
这会跳过名称中包含 Special 的类。在 include 模式之前应用排除模式。如果没有定义 include 或 exclude 模式,则返回软件包中发现的所有 Route 类。