哪些是运行在调度器的处理的最佳方式。我可以做到这一点的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>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top