2011-10-11 142 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>