315.2.3. 使用

Camel 还提供了一项强大的功能,允许在给定软件包中自动发现和初始化路由。这可以通过在 spring 上下文定义中添加标签到 camel 上下文定义,指定要递归地搜索 RouteBuilder 实现的软件包。要在 1.X 中使用这个功能,需要一个 <package></package> 标签,指定应当搜索的以逗号分隔的软件包列表。

  <camelContext xmlns="http://camel.apache.org/schema/spring">
    <package>org.apache.camel.spring.config.scan.route</package>
  </camelContext>

警告:在将软件包名称指定为 org.apache.camel 或这个子软件包时要小心。这会导致 Camel 在自己的软件包中搜索可能会导致您的路由出现问题。

INFO:* 将忽略已经实例化的类*。<package> 和 <packageScan> 将跳过任何已经由 Spring etc 创建的类。因此,如果您将路由构建器定义为 spring bean 标签,则将跳过该类。您可以使用 < routeBuilder ref="theBeanId"/> 或 < contextScan> 功能包含这些 Bean。