我們用Spring運行石英,它只是一個XML文件,其中包含定義的作業和cron表達式。
在Spring聲明任務:
<bean name="myJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="concurrent" value="false"/>
<property name="targetBeanName" value="myBean"/>
<property name="targetMethod" value="myScheduledMethod"/>
</bean>
<bean id="myJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="myJob"/>
<!-- every 30s -->
<property name="cronExpression" value="0/30 * * * * ?"/>
</bean>
石英接線:
<bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<!-- List of batch jobs to be fed to the scheduler. -->
<list>
<ref bean="myTrigger"/>
</list>
</property>
</bean>
與運行:
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App
{
public static void main(String[] args) throws Exception
{
new ClassPathXmlApplicationContext("jobs-context.xml");
}
}
我不知道任何這樣的產品,但是我之前從未聽說過Quartz。鑑於有一個明確的[JobStore](http://www.docjar.com/docs/api/org/quartz/spi/JobStore.html)接口,您似乎應該能夠使用MongoDB Java驅動程序並實施這樣的商店。不如「自由和工作」,但我不確定你會在這個時間點找到這樣的事情。 – 2011-01-26 00:02:18
實現JobStore接口對於Quartz是可選的 - 只需要(1)您在羣集環境中運行,或者(2)使用需要在JVM重新啓動之間保留的持久性作業屬性。否則,只需實例化調度程序並在啓動時添加作業。 – 2011-01-26 05:06:10