海码充电站的技术专栏 java Coder

springboot启动回调

2018-12-25
watermelon


启动回调

前言

springboot打成可执行jar包,提供了容器环境。怎么样回调一次性任务(非定时任务) CommandLineRunner、ApplicationRunner 接口是在容器启动成功后的最后一步回调(类似开机自启动)。

1:CommandLineRunner方案

@Order(1) //控制顺序
@Component
public class PrintSuccessRunner implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("PrintSuccessRunner:i am call back~");
    }
}
@Order(2)
@Component
public class PrintStartRunner implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("PrintStartRunner:i am call back~");
    }
}

2: ApplicationRunner方案

@Component
public class MyApplicationRunner implements ApplicationRunner{

    @Override
    public void run(ApplicationArguments args) throws Exception {
        System.out.println("===MyApplicationRunner==="+ Arrays.asList(args.getSourceArgs()));
        System.out.println("===getOptionNames========"+args.getOptionNames());
        System.out.println("===getOptionValues======="+args.getOptionValues("foo"));
        System.out.println("==getOptionValues========"+args.getOptionValues("developer.name"));
    }
}

还没搞明白,打了包之后如何传参 -_-

拓展:


Comments

Content