Domanda
Qual è il modo migliore per eseguire un processo di pianificazione. I possibile farlo crontab o Primavera-Batch. Qualsiasi altra opzione migliore?
Soluzione
Il quarzo è un full-optional, open source sistema di pianificazione dei processi che possono essere integrata con, o utilizzati lungo il lato quasi tutte le applicazioni J2EE o J2SE - dal più piccolo applicazione stand-alone per il più grande e-commerce sistema. Quarzo può essere utilizzato per creare pianificazioni semplici o complessi per l'esecuzione di decine, centinaia, o addirittura decine di migliaia di posti di lavoro; posti di lavoro la cui compiti sono definiti come standard di Java componenti o bean. il quarzo Scheduler include molti funzionalità di classe enterprise, come ad esempio JTA transazioni e il clustering.
Altri suggerimenti
Si può anche guardare al quarzo, se si desidera pianificare le attività in una VM.
Se si vuole fare qualcosa periodicamente come un processo separato, mi piacerebbe andare per crontab.
I cosa che crontab è ragionevole. E 'il programma maturo utilizzato a fini commerciali anche.
Altri sheduler con la creazione compito GUI è MAESTRO. Si potrebbe anche creare alcuni file di configurazione per l'automazione.
Spring + Quartz è molto più facile da installare poi Batch primavera. Ma dipende da voi applicazione.
http://static.springsource.org/spring /docs/2.5.x/reference/scheduling.html
Utilizzando Primavera + quarzo è possibile definire un MethodInvokingJobDetailFactoryBean che gli orari di una chiamata di metodo su un bean (che esiste nel vostro contesto di applicazione).
In questo esempio orderService.cancelNotPaidOrders () sarà chiamato ogni 30 minuti:
<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>
Prova TimeMachine Scheduler
https://bitbucket.org/saltnlight5/timemachine-scheduler/wiki/Home