Frage
Welche ist der beste Weg, um einen Prozess in Scheduler laufen. Ich kann entweder tun es crontab oder Frühlings-Batch. Jede andere bessere Option?
Lösung
Quartz ist eine voll funktionsfähige Open Source Job-Scheduling-System, das sein kann, integriert, oder an der Seite verwendet, praktisch jede Anwendung J2EE oder J2SE - vom kleinsten Stand-alone-Anwendung auf das größte E-Commerce System. Quarz kann verwendet werden, zu erstellen einfache oder komplexe Zeitplan für Dutzende, Hunderte oder sogar Ausführung Zehn-of-Tausende von Arbeitsplätzen; Jobs, deren Aufgaben werden als Standard-Java definiert Komponenten oder EJBs. der Quarz Scheduler enthält viele Enterprise-Klasse, wie JTA Transaktionen und Clustering.
Andere Tipps
Sie können auch auf Quartz aussehen, wenn Sie Aufgaben in einer VM planen möchten.
Wenn Sie etwas in regelmäßigen Abständen als separater Prozess machen wollen, ich für crontab gehen würde.
Ich Sache, die crontab zumutbar ist. Es ist ausgereiftes Programm für kommerzielle Zwecke verwendet auch.
Andere sheduler mit GUI Aufgabenerstellung ist MAESTRO. Sie könnten auch einige Konfigurationsdateien für die Automatisierung erzeugen.
Spring + Quartz ist viel einfacher aufzusetzen dann Spring Batch. Aber es hängt von Ihnen Anwendung.
http://static.springsource.org/spring /docs/2.5.x/reference/scheduling.html
Spring + Quartz können Sie einen MethodInvokingJobDetailFactoryBean definieren, die Zeitplan einen Methodenaufruf auf einer Bean (das existiert in Ihrem Anwendungskontext).
In diesem Beispiel orderService.cancelNotPaidOrders () wird alle 30 Minuten aufgerufen werden:
<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>
Time Machine Scheduler Versuchen
https://bitbucket.org/saltnlight5/timemachine-scheduler/wiki/Home