首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@Scheduled in spring的用法

@Scheduled in spring的用法
EN

Stack Overflow用户
提问于 2017-05-22 20:04:46
回答 2查看 194关注 0票数 0

我有一个组件类

代码语言:javascript
复制
@Component
public class Scheduler
{
     @Scheduled(fixedRate = 5000 )
     public void test()
     {
        System.out.println("Hi");
     }
}

但是"Hi“并不是每5秒打印一次。为什么?

我的Confuration类是

代码语言:javascript
复制
@ComponentScan( excludeFilters = { @ComponentScan.Filter( type = FilterType.ASSIGNABLE_TYPE ) } )
@EnableScheduling
@SpringBootApplication
public class Application 
{
    public static void main( final String[] args )
    {
        LOG.debug("Booting Spring Application ...... ");
        SpringApplication.run(Application.class, args);
    }
}
EN

回答 2

Stack Overflow用户

发布于 2017-05-22 20:47:38

在您的主应用程序类中添加@EnableScheduling,如果您没有扫描所有包,还会看到使用@ComponentScan扫描了保存排定程序的包。

代码语言:javascript
复制
@EnableScheduling 
@SpringBootApplication
@EnableAutoConfiguration 
@ComponentScan(basePackages = "springboot.service,springboot.dao,springboot.rest,springboot.schedule,springboot.controller")
public class StartUpController {

    public static void main(String[] args) throws Exception {
        SpringApplication.run(StartUpController.class, args);
    }
}
票数 0
EN

Stack Overflow用户

发布于 2017-05-22 20:57:41

您的Scheduler类是在应用程序类的同一个包中还是在一个子包中?如果没有,则必须将base-packages属性添加到@ComponentScan注释中,以便找到排定程序组件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44112432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档