当前位置:网站首页>CommandLineRunner 可能会导致你的应用宕机停止,我劝你耗子尾汁

CommandLineRunner 可能会导致你的应用宕机停止,我劝你耗子尾汁

2020-12-08 10:02:54 程序猿欧文

你用 CommandLineRunner 初始化数据吗?当执行时间过长遇上报错,你的应用还好吗???

hello,大家好,我是小黑,又和大家见面啦~~

如果你去某度搜索关键词 CommandLineRunner 初始化资源 ,截止小黑同学写这篇推文之前,大概能收到 1,030,000 个结果。

CommandLineRunner 初始化资源

网上大部分的文章都在告诉我们说可以使用 CommandLineRunner 去初始化资源,但几乎很少有文章告诉我们:如果 CommandLineRunner 使用不当,就会导致程序出现一些奇怪的异常,更有可能导致我们的应用直接停止运行

正在读这篇文章的你如果也使用了 CommandLineRunner 去初始化资源,那么小黑同学劝你耗子尾汁,赶紧来看一下下面这些案例吧~

CommandLineRunner 执行时间太久了???

@Slf4j@SpringBootApplicationpublic class CommandLineRunnerDemoApp { private Map<String, String> map; public static void main(String[] args) {  SpringApplication.run(CommandLineRunnerDemoApp.class, args); }  @RestController public class controller {  @GetMapping("/name")  public String name() {   return map.get("name");  } } @Bean public CommandLineRunner commandLineRunner() {  return args -> {   // 模拟加载数据过慢   log.info("start do commandLineRunner...");   TimeUnit.MINUTES.sleep(1);   map = ImmutableMap.of("namne", "coder小黑");   log.info("do commandLineRunner end");  }; }}

Spring 容器启动之后,访问

通过报错信息我们可以知道:

.........

版权声明
本文为[程序猿欧文]所创,转载请带上原文链接,感谢
https://my.oschina.net/mikeowen/blog/4780555