Временные задачи обычно присутствуют в проектах среднего и крупного уровня предприятия. Чтобы снизить давление на серверы и базы данных, периоды времени часто используются для завершения определенной бизнес -логики. Наиболее распространенным является то, что система финансовой услуги выдвигает обратные вызовы. Как правило, заказ системы платежей будет продолжать обращаться, когда он не получит успешный обратный вызов и возвращает контент. Этот вид обратного вызовов обычно выполняется с помощью задач. Существует также поколение отчетов. Обычно мы завершаем эту операцию, когда количество посещений клиентов слишком мало, что часто происходит ранним утром. В настоящее время мы также можем использовать временные задачи для завершения логики. Springboot имеет встроенные задачи времени для нас, и нам нужна только одна аннотация, чтобы мы могли использовать время.
В разработке задачи времени являются обычной функцией. Разработка задач по синхронизации под пружинной загрузкой на самом деле очень просто. Конкретный код заключается в следующем:
1. Настройте пакет зависимости pom.xml
Поскольку репозиторий Maven по умолчанию часто недоступен, здесь используется изображение Maven Alibaba Cloud.
<? 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: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <dolidyversion> 4.0.0 </modelversion> <groupid> com.example </GroupId> <ArtifactId> demoId> </artifActid> demoId> </artifactid> </artifactid> </artifactid>. <sersion> 0.0.1-snapshot </version> <Cavegaging> jar </packaging> <mame> Spring-boot-Scheduled </name> <secipging> демо-проект для Spring Boot </description> <!-Alibaba Cloud Maven Repository-> <prepositories> <perpository> <dip> public </id> <mame> aliyun nexus </name> </repository> <duped> </id> <mame> aliyun nexus </name> <URL> http://maven.aliyun.com/nexus/content/groups/public/ </url> <leasees> <Nabled> true </enabled> </leleases> </Repository> </Repositories> <plaginrepository> <plaginrepositority> <dir> public </id> <same> amyun> amyun> <same> <same> wamy> <same> <mele <url> http://maven.aliyun.com/nexus/content/groups/public/ </url> <leleases> <Nabled> true </enabled> </leleases> <Splayshots> <NAUDALD> <groupId> org.springframework.boot </GroupId> <artifactId> Spring-Boot-Starter-parent </artifactid> <sersive> 1.4.5.5.release </version> <venuvativePath/> <!-Поиск родителя из репозитория-> </parent> <properties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <project.reporting.outputencoding> utf-8 </project.Report.OutputEncoding> <java.version> 1.8 </java.version> </properties> <зависимости> <зависимости>. <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId> org.springframework.boot </GroupId> <ArtifactId> Spring-boot-starter-test </artifactid> <cracpe> test </scope> </dependency> </depertive> <buld> <blicins> <blicin> <groupid> org.spramework.boot </GroupId> <ratifactid> spring-boot-maven> promaven> plugvin-pramebrame.bout </GroupId> <pracin> promaven> plug. </plugin> </plugins> </build> </project>
2. Настройте сценарий задачи
Временные задачи выполняются, предоставляя такие сценарии, как фиксированные циклы, интервалы задержки с фиксированным циклом и сформулированные моменты времени. Используйте @scheduledanted Annotation для аннотации.
Exampletimer.java
пакет com.example; import java.text.simpledateformat; import java.util.date; import org.springframework.scheduling.annotation.scheduled; import org.springframework.stereotyle.component; SimpleDateFormat ("HH: MM: SS"); @Practuded (FixdRate = 10000) public void Timerrate () {System.out.println (dateformat.format (new Date ()));} // Первые задержки задержки на 1 секунду, а затем исполняют @scheduladled (initiadlay = 1000, фиксированное = 2000). {System.out.println ("init:"+ dateformat.format (new date ()));} // выполнять @scheduled (cron = "50 16 20 * *?") Public void timercron () {System.out.println ("Текущее время:"+ dateformat.format (new Date ());}}}}}}}}}}}}}3. Начните приложение
Чтобы начать программу, вам нужно добавить аннотацию @enablescheduling.
SpringbootscheduledApplication.java
пакет com.example; import org.springframework.boot.springApplication; import org.springframework.boot.autoconfigure.springbootapplication; импорт org.springframework.scheduling.annotation.enablescheduling;@SpringBootPplication@enablischedlingPublicePplicationSpplicationSpplicationAled static void main (string [] args) {springapplication.run (SpringbootscheduledApplication.class, args);}}4. Результат вывода
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: 44Init: 20: 16: 4620: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 16: 4: 20: 16: 50INIT: 20: 16: 50INIT: 20: 16: 52Init: 20:16:54
Суммировать
Выше приведено все содержание этой статьи о реализации запланированного кода задачи Springboot через планирование, и я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на этот сайт:
Подробное объяснение экземпляра настройки перекрестной домены пружинной загрузки
Познакомьтесь с весенней загрузкой быстро
Краткое обсуждение преимуществ Springboot до весны
Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!