@Scheduled(fixedRate = 5000)
@Scheduled(fixDelay= 5000)
或者可以使用 cron
表达式来完成更复杂的定时要求.
可以使用此方法传递配置值:
@Scheduled(fixedDelayString = "${test.delay}")
其中 test.delay
为yml或properties配置值中的自定义配置值
如果要持续执行一个耗时操作的定时任务, 那么推荐使用 fixDelay=1 , 让每个定时任务之间的结束和开始间隔 1ms
如果使用 fixRate=1, 那么这个任务的耗时操作会导致后面的任务会一直被阻塞, 当任务阻塞过多时, 可能会出现不可预见的操作, 所以使用fixDelay=1, 这样对性能的影响比较小, 且比较稳妥
参考:
理解Spring定时任务的fixedRate和fixedDelay
可以使用此方法传递配置值: @Scheduled(fixedDelayString = “${test.delay}“)其中 test.delay为yml或properties配置值中的自定义配置值@Schedule参数 fixedRate 与 fixedDelay 的区别简单来说: fixedRate 任务两次执行时间间隔是任务的开始点,而 fixedDelay 的间隔是前次任务的结束与下次任务的开始。1. 对于 fixRate , 当任务时长超过 fixedRate 时,会在上次任务执行完后
schedule:
#服务器为0时区,因此设置每天下午16点执行,相当于东8区的晚上12点
crons: {"verifierSettingsResetDayDataTask":"0 0 16 * * ?","guideUserSchedule":"0/20 * * * * ?"}
# 默认是115
min: 20
编写调用器
package app.woya.service.admin.config.scheduled;
impor
@Component
@PropertySource(value = "classpath:jobTask.properties",encoding = "UTF-8")
public class InactiveAccountJob {
@Scheduled(cron = "${inactiveaccountCron}")
public void syncInactiveAccount() {
resources/jobTask.properties
inactiv.
在Spring框架中,`spring.profiles.active`是一个属性,用于指定当前应用程序所处的活动配置文件。通过设置`spring.profiles.active`属性,可以选择性地加载不同的配置文件,从而实现应用程序在不同环境下的灵活配置。
`spring.profiles.active`属性可以通过多种方式进行设置,以下是几种常见的方式:
1. 在application.properties或application.yml文件中直接设置属性值:
spring.profiles.active=dev
这样就会激活名为"dev"的配置文件。
2. 在启动命令中使用`-D`参数设置系统属性:
java -jar myapp.jar -Dspring.profiles.active=prod
这样就会激活名为"prod"的配置文件。
3. 在Spring Boot的配置类中使用`@Profile`注解:
```java
@Configuration
@Profile("test")
public class TestConfig {
// 配置内容
这样就会在激活名为"test"的配置文件时加载TestConfig类中的配置内容。
需要注意的是,`spring.profiles.active`属性可以同时指定多个配置文件,多个配置文件之间使用逗号分隔。例如:
spring.profiles.active=dev,db
这样就会同时激活名为"dev"和"db"的配置文件。