Las tareas de tiempo generalmente están presentes en proyectos de nivel empresarial medio y grande. Para reducir la presión sobre los servidores y las bases de datos, los períodos de tiempo a menudo se usan para completar cierta lógica comercial. Lo más común es que el sistema de servicio financiero empuja las devoluciones de llamada. En general, la orden del sistema de pago continuará con devoluciones de llamada cuando no reciba una devolución de llamada exitosa y devuelva contenido. Este tipo de devolución de llamada generalmente se completa mediante tareas cronometradas. También está la generación de informes. Por lo general, completamos esta operación cuando el número de visitas a los clientes es demasiado pequeña, que a menudo es temprano en la mañana. En este momento, también podemos usar tareas cronometradas para completar la lógica. SpringBoot tiene tareas de tiempo incorporadas para nosotros, y solo necesitamos una anotación para habilitar el tiempo para que lo usemos.
En el desarrollo, las tareas de tiempo son una función común. Desarrollar tareas de tiempo bajo el arranque de primavera es realmente muy simple. El código específico es el siguiente:
1. Configure el paquete de dependencia pom.xml
Dado que el repositorio Maven predeterminado a menudo no es accesible, aquí se usa la imagen del repositorio Maven de Alibaba Cloud.
<? xml versión = "1.0" encoding = "utf-8"?> <Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschemainstance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion> 4.0.0 </modelversion> <MoupRoupid> com.example </spopiid> <artifactid> Demo </ArtiMo </arti <versión> 0.0.1-snapshot </versión> <compagument> jar </packaging> <name> spring-boot-scheduled </name> <solding> Proyecto de demostración para el arranque de primavera </scuidt> <!-Alibaba Cloud Maven Repository-> <Repositories> <Repositorio> <d> public </id> <name> Aliyun nexus </name> <Url> http://maven.aliyun.com/nexus/content/groups/public/ </sl> <lotess> <Edabled> true </habilitado> </lotess> </repository> </repositories> <tuginRepository> <gluginRepository> <Id> public </id> <same> aliyun neo </name> name> <Url> http://maven.aliyun.com/nexus/content/groups/public/ </sl> <loteseates> <nedabled> true </habilitado> </relates> <sapshots> <Dabled> false </etabled> </stapshots> </gluginRepository> </tuginRepository> </habilitado </habilitado> </snstapshots> </pluginRepository> </tuginRepository> </habilitado <MoupRoD> org.springframework.boot </groupid> <artifactid> spring-boot-starter-parent </artifactid> <versión> 1.4.5.release </versión> <relativePath/> <!-Buscar padres desde el apositorio-> </parent> <protesis> <Project.Build.SourceEncoding> UTF-8 </project.build.SourceEncoding> <Project.Reporting.outputEncoding> Utf-8 </project.Reporting.outputEncoding> <Java.version> 1.8 </Java.Version> </propiences> <pendences> <Spendences> <MoupRid> org.springframework.boot </groupid> <artifactID> spring-boot-starter-web </artifactid> </pendency> <pendency> <proupid> org.projectlombok </proupid> <arifactid> lombok </artifactid> <pectional> true </ppectional> </sppectional> </dependency> <fependency> <MoupRoD> org.springframework.boot </groupid> <artifactid> spring-boot-starter-test </arfactid> <cope> test </spope> </pendency> </dependencias> <construcción> <gotins> <glugin> <grupiD> org.springframeWork.Boot </groupid> <artifactID> spring-boot-saven-plugin </artifactid> </glugin> </glugins> </build> </proyecto>
2. Personalizar el escenario de la tarea
Se implementan tareas cronometradas, proporcionando escenarios como ciclos fijos, intervalos de retraso del ciclo fijo y puntos de tiempo formulados. Use la anotación @scheduled para la anotación.
Exppletimer.java
paquete com.example; import java.text.simpledateFormat; import java.util.date; import org.springframework.scheduling.annotation.scheduled; import org.springframework.stereotype.component; @ComponentPublicPublic de clase Expletimer {SimpledAdate Deced SimpleDateFormat ("HH: MM: SS"); @Programed (fijado = 10000) public void timerrate () {System.out.println (dateFormat.format (new Date ()));} // La ejecución de la primera vez por 1 segundo y luego ejecute @scheduled (initialDelay = 1000, fixeddelay = 2000) publicidad publicitaria) {System.out.println ("init:"+ dateFormat.Format (new Date ()));} // ejecutar @scheduled (cron = "50 16 20 * * *?") Public void timercron () {system.out.println ("hora actual:"+ dateFormat.format (new Date ());}}}3. Inicie la aplicación
Para comenzar el programa, debe agregar la anotación @EnablesCheduling.
Springbootscheduledapplication.java
paquete com.example; import org.springframework.boot.springapplication; import org.springframework.boot.autoconfigure.springbootapplication; import org.springframework.scheduling.annotation.ennotationCheduling;@treingBootApplication void main (string [] args) {springapplication.run (springbootscheduledapplication.class, args);}}4. Resultado de salida
20: 16: 27init: 20: 16: 28init: 20: 16: 30init: 20: 16: 32init: 20: 16: 34init: 20: 16: 3620: 16: 37init: 20: 16: 38init: 20: 16: 16: 40init: 20: 16: 42init: 20: 16: 44init 20: 16: 50init: 20: 16: 50init: 20: 16: 52init: 20:16:54
Resumir
Lo anterior es todo el contenido de este artículo sobre SpringBoot Implementación de código de tareas programado a través de programado, y espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a este sitio:
Explicación detallada de la instancia de configuración de dominio de arranque de primavera
Conozca la bota de primavera rápidamente
Una breve discusión sobre las ventajas de Springboot to Spring
Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!