2011-10-11 169 views
2

我正在尝试使用Camel组件来安排我们的应用程序服务器上的作业(此技术选择是最终的,并且高于我的支付级别),Apache提供的唯一文档(here)是de minimis并且超紧凑,没有任何骆驼/石英新手真正有用的例子。Apache Camel-Quartz Integration

我想了解这里的大图,然后才能深入了解我的具体工作需求。该文档指出 - 通过骆驼 - 石英计时器被设置为端点。所以我假设(请纠正我,如果我错了),这意味着你代码作业被运行,连同他们的配置/属性文件,然后设置一个石英计时器作为骆驼端点;那么当这些工作得到运行时,它们可以以某种方式通过Camel与其他终端进行通信(?)。

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

可以使用quartz.properties文件配置Quartz,并且需要其他配置以便可以初始化Scheduler。 请问camel-quartz是否为您服务?我想专心写作业,但不确定需要什么样的最小XML或属性配置。

在此先感谢任何人可以帮助澄清此camel-quartz发展过程好一点。

回答

2

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

这不是很详细,但应该让你开始。 quartz.properties是在类路径的基础上搜索的。您也可以指定其他文件或使用自定义属性。请参阅“配置quartz.properties文件”部分。

骆驼石英具有触发骆驼路线的简单目的。所以你可以使用所有其他骆驼组件来实现你的需求。如果你的工作是关于整合,那么骆驼石英是一个不错的选择。如果你的工作主要调用你的应用的内部API,那么普通的石英应该足够好。

+0

感谢克里斯蒂安 - 是的,我包括在原来的问题相同的链接,发现页面作为最小程度有帮助,你做到了!我想我想知道是否石英计时器/调度程序配置石英属性文件,或虽然驼峰骆驼配置文件? – IAmYourFaja

6

建立一个石英终点是容易的,下面的石英工作在凌晨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.properties在类路径,可以还提供了在XML的配置细节,如下图所示:

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