Camel <packagescan>不工作?

时间:2015-10-21 21:59:18

标签: java spring apache-camel

使用Camel 2.15.2,Spring 4.1.7.RELEASE。

项目:camel-example-cxf-tomcat

创建路线:

  <bean id="myRoutes" class="org.apache.camel.example.cxf.CamelRoute"/>

  <camelContext xmlns="http://camel.apache.org/schema/spring">
    <routeBuilder ref="myRoutes"/>
  </camelContext>

未创建路线:

  <bean id="myRoutes" class="org.apache.camel.example.cxf.CamelRoute"/>

    <camelContext xmlns="http://camel.apache.org/schema/spring">
        <packageScan>
            <package>org.apache.camel.example.cxf</package>
            <excludes>*Hide*</excludes>
        </packageScan>
    </camelContext>

3 个答案:

答案 0 :(得分:1)

问题因为,camel包扫描会忽略已经实例化的类。请删除以下代码并尝试。

<bean id="myRoutes" class="org.apache.camel.example.cxf.CamelRoute"/>

希望它有所帮助!!

答案 1 :(得分:0)

请分享您在创建路线时遇到的错误。

<package> and <packageScan>将跳过已经由Spring等创建的任何类。因此,如果将路由构建器定义为spring bean标记,则将跳过该类。您可以使用<routeBuilder ref="theBeanId"/> or the <contextScan>功能包含这些bean。

答案 2 :(得分:0)

尝试使用

<packageScan>
    <package>---specify package containing route here---
    </package>
</packageScan>