Domanda

Qual è il modo migliore per eseguire un processo di pianificazione. I possibile farlo crontab o Primavera-Batch. Qualsiasi altra opzione migliore?

È stato utile?

Soluzione

quarzo

  

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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top