Spring Boot中的方法加载,即使它没有在Spring Boot Profile中指定

时间:2017-01-21 13:00:21

标签: java spring spring-boot spring-scheduled spring-profiles

我有一个方法,我不想在我的本地Spring配置文件中加载。方法是

@Profile("prod")
@Scheduled(initialDelay = 1000, fixedDelay = 21600000)
public void updateHackalistHackathonData() {
...
}

我在同一位置application.properties'创建了application-local.properties'application-prod.propertiessrc/java/resources文件。在application.properties中,我提到了spring.profiles.active=local

然而,这个计划的方法仍然执行。我该如何阻止它?

1 个答案:

答案 0 :(得分:2)

您需要在类(bean)定义上添加@Profile("prod")注释而不是方法本身。 E.g:

@Component
@Profile("prod")
public class HackatonScheduler{
    @Scheduled(initialDelay = 1000, fixedDelay = 21600000)
    public void updateHackalistHackathonData() {
        ...
    }
}