Question

Quelle est la meilleure façon d'exécuter un processus dans le planificateur. Je peux soit le faire crontab ou printemps-Lot. Toute autre meilleure option?

Était-ce utile?

La solution

Quartz

  

Le quartz est un, open source complet   système de planification du travail qui peut être   intégrée avec, ou utilisé le long du côté   pratiquement toutes les applications J2EE ou J2SE   - de la plus petite application autonome le plus grand e-commerce   système. Le quartz peut être utilisé pour créer   horaires simples ou complexes pour   exécuter des dizaines, des centaines, voire   des dizaines de milliers d'emplois; emplois dont   tâches sont définies comme standard Java   composants ou EJB. le Quartz   Planificateur comprend de nombreux   des fonctionnalités d'entreprise, tels que JTA   les transactions et le regroupement.

Autres conseils

Vous pouvez également regarder Quartz si vous souhaitez programmer des tâches dans une machine virtuelle.

Si vous voulez faire quelque chose périodiquement un processus distinct, je vais pour crontab.

chose que je crontab est raisonnable. Il est programme à maturité à des fins commerciales aussi.

Autres sheduler avec la création de tâches de GUI est MAESTRO. Vous pouvez également générer des fichiers de configuration pour l'automatisation.

Spring + Quartz est beaucoup plus facile à installer puis Spring Batch. Mais cela dépend de votre application.

http://static.springsource.org/spring /docs/2.5.x/reference/scheduling.html

Utilisation Spring + Quartz vous pouvez définir une MethodInvokingJobDetailFactoryBean qui planifie un appel de méthode sur un haricot (qui existe dans votre contexte d'application).

Dans cet exemple orderService.cancelNotPaidOrders () sera appelé toutes les 30 minutes:

<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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top