Al escribir aplicaciones de arranque de primavera, encontrará tales escenarios, como: debe enviar algunos mensajes de texto, correos electrónicos y otras operaciones regularmente, y también puede verificar y monitorear algunas banderas, parámetros, etc.
Crear una tarea cronometrada
Es muy simple escribir una tarea cronometrada en Spring Boot. Los siguientes ejemplos se utilizan para introducir cómo crear una tarea cronometrada en Spring Boot, para obtener la hora actual cada 5 segundos.
Agregue la anotación de @enablescheduling a la clase principal de arranque de primavera para habilitar la configuración de tareas de tiempo
importar org.springframework.boot.springapplicationImport org.springframework.boot.autoconfigure.springbootapplicationImport org.springframework.scheduling.annotation.enablescheduling/*** creado por http://quanke.name on 2018/1/12. */@Springbootapplication@habilitionChedulingClass ApplicationFun Main (Args: Array <String>) {SpringApplication.run (Application :: Class.Java, *Args)}Crear una clase de implementación de tareas cronometrada
importar org.apache.commons.logging.logFactoryImport org.springframework.scheduling.annotation.scheduledImport org.springframework.stereotype.componentImport java.text.spledateFormatimport java.util.*/*** creado por http://quanke.name 2018/1/12.*/@ComponentClass ProchuledTasks {val log = logFactory.getLog (programado de tareas :: class.java) !! Private Val DateFormat = SimpleDateFormat ("HH: MM: SS")@Prochuled (FixedRate = 1000) Fun ReportCurrentTime () {log.info ("Tiempo actual, tiempo, Tiempo de corriente," $ {dateFormat.format (date ())} ")}}Ejecute el programa y puede ver la siguiente salida en la consola. La tarea de tiempo comienza a funcionar normalmente.
2018-01-21 23: 09: 01.112 INFO 23832-[Main] NQKotlin.CHAPER11_8_1.Applicationkt: Comenzó la aplicaciónkt en 8.024 segundos (JVM en ejecución para 8.724)
2018-01-21 23: 09: 02.112 Información 23832-[Pool-2-Thread-1] NQKCHAPER11_8_1.Task.ScheduledTasks: Hora actual, 23:09:02
2018-01-21 23: 09: 03.042 Información 23832-[Pool-2-Thread-1] Nqkchaper11_8_1.task.scheduledtasks: hora actual, 23:09:03
2018-01-21 23: 09: 04.042 Información 23832-[Pool-2-Thread-1] NQKCHAPER11_8_1.Task.ScheduledTasks: Hora actual, 23:09:04
2018-01-21 23: 09: 05.042 Información 23832-[Pool-2-Thread-1] NQKCHAPER11_8_1.Task.ScheduledTasks: Hora actual, 23:09:05
@Scheduleddetails
En el ejemplo introductorio anterior, la anotación @Scheduled (FlexedRate = 1000) se usa para definir las tareas ejecutadas cada 1 segundo. El uso de @scheduled se puede resumir de las siguientes maneras:
@Scheduled Annotation es de un solo hilo. Si se requieren varios hilos, agregue @async
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.