Pregunta

¿Cuál es la mejor manera de ejecutar un proceso en el planificador. Me Puede hacerlo crontab o Primavera-lotes. Cualquier otra opción mejor?

¿Fue útil?

Solución

cuarzo

  

El cuarzo es una fuente completamente equipado, abierto   sistema de planificación de tareas que pueden ser   integrado con, o se utiliza a lo largo de lado   prácticamente cualquier aplicación J2EE o J2SE   - desde la aplicación más pequeña independiente a la más grande de comercio electrónico   sistema. El cuarzo puede ser utilizado para crear   horarios simples o complejos para   la ejecución de decenas, cientos, o incluso   decenas de miles de puestos de trabajo; cuyos trabajos   tareas se definen como estándar de Java   componentes o EJB. el cuarzo   Programador incluye muchos   funciones de clase empresarial, tales como JTA   transacciones y agrupamiento.

Otros consejos

También puede mirar en cuarzo si desea programar tareas en una máquina virtual.

Si usted quiere hacer algo periódicamente como un proceso separado, me gustaría ir a crontab.

Lo que crontab es razonable. Es programa madura utilizada con fines comerciales también.

Otro sheduler con la creación de tareas GUI es MAESTRO. También podría generar algunos archivos de configuración para la automatización.

Primavera + cuarzo es mucho más fácil de configurar y luego Spring Batch. Pero depende de su aplicación.

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

Uso de la primavera + cuarzo se puede definir una MethodInvokingJobDetailFactoryBean que los horarios de llamada a un método en un bean (que existe en su contexto de aplicación).

En este ejemplo orderService.cancelNotPaidOrders () será llamada cada 30 minutos:

<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>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top