【问题标题】:Apache Camel-Quartz IntegrationApache Camel-Quartz 集成
【发布时间】:2011-12-05 09:34:42
【问题描述】:

我正在尝试使用 camel-quartz Camel 组件在我们的应用程序服务器上安排作业(此技术选择是最终的,高于我的工资等级),Apache 提供的唯一文档 (here) 是最低限度的,并且非常紧凑,没有任何真正有用的骆驼/石英新手示例。

在深入了解我的具体工作需求之前,我试图了解大局。该文档指出 - 通过 Camel - Quartz 计时器被设置为端点。所以我假设(如果我错了,请纠正我)这意味着您编写要运行的作业以及它们的配置/属性文件,然后将 Quartz 计时器设置为骆驼端点;然后当这些作业运行时,它们可以通过 Camel 与其他端点进行通信(?)。

那么,使用 camel-quartz 而不仅仅是 Quartz(它允许您的作业与其他端点通信)的唯一好处是什么?

Quartz 可以配置quartz.properties 文件,并且需要其他配置才能初始化调度程序。 camel-quartz 会为您解决这个问题吗? 我只想专注于编写工作,但不确定需要什么样的最小 XML 或属性配置。

提前感谢任何可以帮助澄清camel-quartz 开发过程的人。

【问题讨论】:

    标签: java integration apache-camel quartz-scheduler scheduling


    【解决方案1】:

    设置石英端点很容易,下面的石英作业每天凌晨 1 点触发 FileProcessor.process():

    <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
        <package>com.test.app</package>
        <template id="camelTemplate"/>
        <route>
            <from uri="quartz://fileProcessorJob?cron=0+0+1+*+*+?"/>
            <to uri="bean:fileProcessor?method=process"/>
        </route>
    </camelContext>
    

    默认情况下Quartz在类路径中查找quartz.properties,你也可以在xml中提供配置细节,如下图:

    <bean id="quartz" class="org.apache.camel.component.quartz.QuartzComponent">
        <property name="propertiesFile" value="com/test/app/myquartz.properties"/>
    </bean>
    

    【讨论】:

      【解决方案2】:

      您是否已经看过骆驼网站上的骆驼石英文档? http://camel.apache.org/quartz.html

      它不是很详细,但应该可以帮助您入门。在类路径的基础上搜索quartz.properties。您还可以指定另一个文件或使用自定义属性。请参阅“配置 quartz.properties 文件”部分。

      Camel-quartz 的目的很简单,就是触发骆驼路线。因此,您可以使用所有其他骆驼组件来实现您的要求。如果您的工作是关于集成,那么 camel-quartz 是一个不错的选择。如果您的工作主要调用应用程序的内部 API,那么普通的quartz 应该足够了。

      【讨论】:

      • 感谢 Christian - 是的,我在原始问题中包含了相同的链接,并发现该页面与您所做的一样几乎没有帮助!我想我想知道 Quartz 计时器/调度程序是在石英属性文件中配置的,还是在骆驼配置文件中配置骆驼?
      猜你喜欢
      • 1970-01-01
      • 2018-02-08
      • 2018-06-27
      • 2018-02-10
      • 2017-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-26
      相关资源
      最近更新 更多