题
哪些是运行在调度器的处理的最佳方式。我可以做到这一点的crontab或弹簧批次。任何其他更好的选择?
解决方案
石英是一个全功能的,开源 作业调度系统,可 与集成,或者沿着侧使用 几乎所有的J2EE和J2SE应用程序 - 从最小的单机应用到最大的电子商务 系统。 Quartz可以用来创建 简单或复杂的时间表 执行数十,数百,甚至 数万的,成千上万的就业机会;其工作 任务被定义为标准的Java 组件或EJB。石英 计划包括许多 企业级功能,例如JTA 交易和聚类。
其他提示
您也可以看看石英如果你想在一个调度任务的虚拟机。
如果您想定期做一些事情作为一个独立的过程中,我会去的crontab。
我件事的crontab是合理的。 这是用于商业目的还成熟程序。
与GUI任务创建其他sheduler是MAESTRO。 你也可能会产生一些配置文件的自动化。
弹簧+石英是设置那么Spring批量容易得多。但是,这取决于你的应用程序。
http://static.springsource.org/spring /docs/2.5.x/reference/scheduling.html
使用Spring +石英你可以定义一个MethodInvokingJobDetailFactoryBean中该时间表上一个bean(存在于你的应用程序上下文)。
方法调用在这个例子中orderService.cancelNotPaidOrders()每30分钟将被称为:
<bean id="cancelExpiredOrders" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetBeanName" value="orderService"/>
<property name="targetMethod" value="cancelNotPaidOrders"/>
<property name="concurrent" value="false" />
</bean>
<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="cancelExpiredOrders" />
<property name="startDelay" value="10000" />
<property name="repeatInterval" value="1800000" />
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="simpleTrigger" />
</list>
</property>
</bean>
不隶属于 StackOverflow