上下文关闭

命令执行逻辑通过 Spring Boot 的 ApplicationRunner bean 实现。通常情况下,除非有像使用 @EnableScheduling 这样保持上下文活跃的机制,或者通常来说存在不会自动终止的线程,否则 Spring ApplicationContext 会在这些 runner bean 处理完成后自动关闭。

可以通过添加配置属性 spring.shell.context.close 来注册一个针对 ApplicationReadyEventApplicationListener,并在 shell 完成执行逻辑后请求关闭上下文。

spring:
  shell:
    context:
      close: true
此设置默认不启用。