2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
In moderna evolutione programmatum, munera scheduled key elementum applicationis automationis et efficientiae operationis sunt elementum. Utrum notitia tergum, ratio sanitatis perscriptio, relatio regularis generationis, vel processuum automatorum usorum activitates utitur, negotium scheduled munus necessarium habent. Curae continuitatem logicae negotii et facultates systematis sui sustentationis.
In exemplari evolutionis tradito, munerum horarium exsequens saepe postulat innixus in operibus systematis operandi (ut crontab Linux) vel logica negotia multiplicia scribens. Hae rationes multae incommoditates habent;
Ut popularis Javae compage, Ver Tabernus elegantiorem et integram viam praebet ad operas scheduled perficiendas. Configurationem simplificat ac locupletem APIs praebet, tincidunt permittens ut munus functionis scheduled cito integrare in applicationes.
Ver Tabernus Transierunt@EnableScheduling
et@Scheduled
Annotationes facillime reddunt perquam operas scribendas et configurare in applicationibus vernis. Praeterea, Spring Boot etiam praebet integrationem cum Spring Task Scheduler, quod subsidia praebet ad opus requisita provectioris horarii.
Ver Boot a team Pivotal (nunc pars VMware) explicatur et modularis, celeris progressionis compages instruere et in veris compage fundata est. Simpliciorem reddere intendit initiales paroeciales et progressus applicationes ad processum vernum et ad opus configurationis tincidunt reducendum, seriem defaltis configurationum praebens.
Ver Booz application is coepi perSpringApplication.run()
Methodus peracta, sponte fontem creabit et configurabit contextui applicationis. Ver Boot etiam praebet mandatum lineae interface (CLI) et Actuator finem monitoris et applicationes administrandi.
Ver Tabernus Transieruntspring-boot-starter-parent
Dep Versio numeros definit et iugis dependentiae, conflictus dependentiae faciendi et imperium facilius ad administrandum versionem facit.
Ver Tabernus activum fontem apertum habet communitatis quae praebet magnum numerum plugins et "Imprimis" quae clientelas habent necessarias ad specificam functionem aedificandam, sicutspring-boot-starter-web
Ad edificandum quiete adhibita.
Subter gradus sunt ad applicationem Booz veris simplicis creandi et respondentes specimen codicis:
spring-boot-starter-web
。import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@GetMapping("/")
public String home() {
return "Hello, Spring Boot!";
}
}
java -jar
Praeceptum fugit.Ver Tabernus non est substitutio pro veris Framework, sed celeris progressionis ratio in veris Framework fundata est. Celeriter praebet ut applicationes Spring incipiendi, servata omnia lineamenta et flexibilitatem Fontis Framework.
Ver Boot est compages ad hodiernam Javam progressionem destinata. Configurationem simpliciorem praebet et seriem functionum extra-thecam praebet, permittens tincidunt ad exsequendam logicam negotiationem potius quam constructionem infrastructuram. In capitulis sequentibus, in applicatione Fontis Booz in operibus actis accedemus et demonstrabimus quomodo lineamenta eius adhibeamus ad operas efficientes et certas automated aedificandas.
Negotium horarium est fragmentum codicis vel programmatis quod automatice tempore praefinito afficitur. Possunt esse unum tempus vel periodicum et adhibentur ad officia automata facienda sicut notitia tergum, notificationes mittens, schedulas faciendo scheduled, etc.
Negotia accedentes critica sunt ad custodiendum systema tuum sursum ac currendo et automando processibus negotiis faciendis. Interventus manuales minuere possunt, efficientiam augere, opportunitatem ac diligentiam officiorum curare.
java.util.Timer
。@Scheduled
。java.util.Timer
Effectum accedant operaHic est exemplum utens bibliothecae vexillum JavaTimer
Exemplum operis simplicis horarii per genus perficiendum:
import java.util.Timer;
import java.util.TimerTask;
public class SimpleTimerTask {
public static void main(String[] args) {
TimerTask task = new TimerTask() {
@Override
public void run() {
System.out.println("执行定时任务:" System.currentTimeMillis());
}
};
Timer timer = new Timer();
long delay = 0;
long intervalPeriod = 1000; // 间隔1秒执行一次
timer.scheduleAtFixedRate(task, delay, intervalPeriod);
}
}
Locutiones Cronae potentes sunt ad modum temporis ad exsecutionem operis configurandi. Sequens est exemplum cron elocutionis ad negotium conficiendum cotidie ad 1 sum;
0 0 1 * * ?
Ver Tabernus Transierunt@Scheduled
Annotationes simpliciorem reddere conformationem et exsecutionem officiorum scheduled.Hic est usus@Scheduled
Hinc Spring Booz accedant negotium exemplum:
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class ScheduledTasks {
@Scheduled(fixedRate = 5000) // 每5秒执行一次
public void reportCurrentTime() {
System.out.println("当前时间:" System.currentTimeMillis());
}
@Scheduled(cron = "0 0 1 * * ?") // 每天凌晨1点执行
public void scheduleTask() {
System.out.println("执行定时任务:" System.currentTimeMillis());
}
}
@Scheduled
annotation@Scheduled
Annotationes a Ver praebetur ad simpliciorem exsecutionem officiorum accedentium. Permittit ut per simplicem annotationem configurationem periodice exsecutioni modum creare sinat.
@Scheduled
Annotation configurationefixedRate
: Certum temporis intervallum (in milliseconds) denotare inter duo operas executiones.fixedDelay
: Specificare certum temporis intervallum inter finem ultimi molis executionis et initium operis sequentis.initialDelay
: morae denota tempus antequam primum negotium conficiatur.cron
: Utere vocibus cronicis ad designandum schedulam ad negotium executionis.fixedRate
Hoc exemplum sequitur modum qui omnem 5 secundis exsequitur:
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class FixedRateTask {
@Scheduled(fixedRate = 5000)
public void taskWithFixedRate() {
System.out.println("任务执行:" LocalDateTime.now());
}
}
fixedDelay
Hoc exemplum ostendit modum qui secundo 1 exsecutus est postquam praecedens negotium exsecutioni mandare desiit;
@Scheduled(fixedDelay = 1000)
public void taskWithFixedDelay() {
System.out.println("任务执行:" LocalDateTime.now());
}
initialDelay
Hoc exemplum probat methodum, quae prima 10 secundis post applicationes incipit, et deinde quaelibet 5 secundis;
@Scheduled(initialDelay = 10000, fixedRate = 5000)
public void taskWithInitialDelay() {
System.out.println("任务执行:" LocalDateTime.now());
}
Cron expressiones tempus magis complexum praebent occasus, sino te certis temporibus exsecutionem specificare. Sequens exemplum ostendit methodum quae cottidie ante 1 sum exercetur;
@Scheduled(cron = "0 0 1 * * ?")
public void taskWithCronExpression() {
System.out.println("任务执行:" LocalDateTime.now());
}
Negotia accedant ut exceptiones proiciant, Spring praebet@Async
annotationem ad opera asynchronously elaborandum et usu@ExceptionHandler
exceptiones tractare.
@Async
@Scheduled(cron = "0 0/30 * * * ?")
public void taskWithExceptionHandling() {
if (Math.random()