束中未解决的约束 - osgi.wiring.package; (osgi.wiring.package=org.apache.camel.routepolicy.quartz)

Unresolved constraint in bundle - osgi.wiring.package; (osgi.wiring.package=org.apache.camel.routepolicy.quartz)

我是 Jboss Fuse 6.3 的新手。我需要在预定的时间从 FTP 服务器中提取一些文件。我找到了一种使用 'CronScheduledRoutePolicy' (http://camel.apache.org/cronscheduledroutepolicy.html) 的解决方案。我试图以这种方式在我的包中使用这个解决方案:

    <bean id="startPolicy" class="org.apache.camel.routepolicy.quartz.CronScheduledRoutePolicy">
        <property name="routeStartTime" value="{{epayment.authorization.timer.cron}}"/>
    </bean>

    <camelContext id="epayment-batch" autoStartup="{{batch.authorization.autoStartup}}" trace="false" xmlns="http://camel.apache.org/schema/blueprint">

        <route id="pullFileFromFtp" routePolicyRef="startPolicy" autoStartup="false">
            <from uri="ftp://{{epayment.batch.username}}@{{epayment.batch.host}}{{epayment.batch.remotePath}}?password={{epayment.batch.password}}&amp;move={{epayment.batch.remotePath.bkp}}"/>
            <to uri="file://{{epayment.batch.localPathOut}}"/>
            <log message="This is the body: ${body}"/>
        </route>

    </camelContext>
</blueprint>

但是当 Jboss Fuse 启动时,我收到此异常:

org.osgi.framework.BundleException: Unresolved constraint in bundle epayment [303]: Unable to resolve 303.0: missing requirement [303.0] osgi.wiring.package; (&(osgi.wiring.package=org.apache.camel.routepolicy.quartz)(version>=2.18.0)(!(version>=3.0.0)))
    at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4002)
    at org.apache.felix.framework.Felix.startBundle(Felix.java:2045)
    at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1299)
    at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
    at java.lang.Thread.run(Unknown Source)

有人可以帮助我吗?我尝试部署 camel-quartz-2.18。1.jar(将其复制到部署目录中)但没有帮助。

您可以将此包添加到 maven-bundle-plugin 的 import-packages 部分,位于 pom.xml。

以防万一,这个 jar 还没有安装在你的服务器上,使用下面的命令:

JBossFuse:karaf@root>安装camel-quartz