Les tâches de synchronisation sont généralement présentes dans les projets de niveau moyen et grand. Afin de réduire la pression sur les serveurs et les bases de données, les périodes sont souvent utilisées pour compléter certaines logiques métier. La chose la plus courante est que le système de services financiers pousse les rappels. Généralement, la commande du système de paiement continuera à des rappels lorsqu'il ne recevra pas de rappel réussi et renvoie du contenu. Ce type de rappel est généralement effectué par des tâches chronométrées. Il y a aussi la génération de rapports. Nous terminons généralement cette opération lorsque le nombre de visites de clients est trop faible, ce qui est souvent tôt le matin. Pour le moment, nous pouvons également utiliser des tâches chronométrées pour terminer la logique. Springboot a des tâches de synchronisation intégrées pour nous, et nous n'avons besoin que d'une seule annotation pour permettre le timing pour nous.
En développement, les tâches de synchronisation sont une fonction commune. Développer des tâches de synchronisation sous Spring Boot est en fait très simple. Le code spécifique est le suivant:
1. Configurez le package de dépendance pom.xml
Étant donné que le référentiel Maven par défaut n'est souvent pas accessible, l'image du référentiel Maven d'Alibaba Cloud est utilisée ici.
<? xml version = "1.0" Encoding = "utf-8"?> <project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" XSI: ScheMalation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <mackversion> 4.0.0 </ Modelversion> <proupid> com.example </ GroupId> <ArtifActid> Demo </ ArtiFact> Com.example </ GroupId> <ArtifActid> Demio </ Artiford> Com.example </ GroupId> <ArtifActid> Demo </ Artiford> COMM <version> 0.0.1-snapshot </ version> <packaging> jar </packaging> <name> Spring-boot scheduled </name> <description> Project de démonstration pour Spring Boot </ Description> <! - Alibaba Cloud Maven Repository -> <pEPOSITORIES> <POSED> <url> http://maven.aliyun.com/nexus/content/groups/public/ </url> <forde> <cabled> true </velow <url> http://maven.aliyun.com/nexus/content/groups/public/ </url> <leases> <veabled> true </velow <GroupId> org.springFramework.boot </prôdId> <ArtifactId> printemps-boot-starter-parent </refactive> <version> 1.4.5.release </ version> <RelativePath /> <! - Recherche Parent from Repository -> </parent> <properters> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <project.reportting.outputencoding> utf-8 </project.reportting.outputending> <java.version> 1.8 </java.version> </properties> <pèbres> <Dedency> <GroupId> org.springframework.boot </proupId> <Ertifactid> printemps-boot-starter-web </retifactid> </dendency> <dependency> <proupId> org.projectlombok </rompuplid> <eRtifactid> lombok </ artifactid> <ochotional> true </ optional> </pedency> <GroupId> org.springframework.boot </prôdId> <ArtifactId> Spring-Boot-starter-test </ artifactid> <ccope> test </cope> </dependency> </dpendance> <uild> </grouns> <Glugin> <proupId> org.springframework.boot </prounid> <ArtefactId> Spring-Boot-Maven-Plugin </ ArfactId> </Glugin> </Glugins> </Duild> </randing>
2. Personnalisez le scénario de tâche
Les tâches chronométrées sont implémentées, fournissant des scénarios tels que des cycles fixes, des intervalles de retard de cycle fixe et des points temporels formulés. Utilisez l'annotation @Scheduled pour l'annotation.
Exampletimer.java
package com.example; import java.text.simpledateFormat; import java.util.date; import org.springframework.scheduling.annotation.scheduled; import org.springframework.sterreotype.Component; @componentpontepublic class exampletimer {SimpledateFormat SimpledateFormat ("HH: MM: SS"); @ planifié (FIXRATE = 10000) public void timerrate () {System.out.println (DateFormat.Format (New Date ()));} // Ancs Eamory, FixedDelay = 2000) {System.out.println ("init:" + dateformat.format (new Date ()));} // exécuter @scheduled (cron = "50 16 20 * *?") Public void timerCron () {System.out.println ("Hury Time:" + DateFormat.Format (new Date ()));}}3. Démarrez l'application
Pour démarrer le programme, vous devez ajouter l'annotation @EnablesCeduling.
SpringbootscheduledApplication.java
package com.example; import org.springframework.boot.springapplication; import org.springframework.boot.autoconfigure.springbootapplication; import org.springframework.scheduling statique void main (String [] args) {SpringApplication.Run (SpringbootscheduledApplication.class, args);}}4. Résultat de sortie
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: 40Init: 20: 16: 42Init: 20: 16: 44 Init: 16: 4620: 16: 47Init: 20: 48C: 16: 4620: 16: 47Init: 20: 16: 48CORI 20: 16: 50Init: 20: 16: 50Init: 20: 16: 52Init: 20:16:54
Résumer
Ce qui précède est tout le contenu de cet article sur la mise en œuvre du code de tâche programmé par Springboot via la planification, et j'espère que cela sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à ce site:
Explication détaillée de l'instance de paramètre Spring Boot Cross-Domain
Apprenez à connaître le démarrage du printemps rapidement
Une brève discussion sur les avantages de Springboot au printemps
S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!