java - 如何在 Spring 按个人资料启用@Scheduled 作业?

标签 java spring spring-boot

如何仅在特定配置文件中启用计划作业?

伪代码:

@Scheduled(cron = "${job.cron}")
@Profile("prod")
public void runJob() {

}

这可能吗?

最佳答案

每个配置文件应该有一个 bean:

@Component
@Profile("prod")
public class ProdJob {

    @Scheduled(cron = "${job.cron}")
    public void runJob() {

    }

}

@Component
@Profile("beta")
public class BetaJob {

    @Scheduled(cron = "${job.cron}")
    public void runJob() {

    }
}

关于java - 如何在 Spring 按个人资料启用@Scheduled 作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28782694/

相关文章:

java - spring如何在响应流中发送音频

java - 当我尝试使用 Spring Boot 为 SessionFactory 创建 bean 时,出现无法解析的循环引用

Spring Boot 5 多个 JUnit JPA 测试文件接线

java - 测试自动化源的位置

java - 为什么 RestTemplate 并发调用时会挂起?

java - 如何修复 Hadoop 警告 : An illegal reflective access operation has occurred error on Ubuntu

java - {Java} Vaadin 14 - 检测用户离开(关闭选项卡、f5 等)

java - 如何接受 3 个 char 值,将它们转换为 int,将它们相加并根据总值打印出特定消息?

java - 如何在 Spring JDBC 中创建对象之间的关系?

spring-boot - 无法使用 Spring Cloud 连接 AWS SES