微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以从另一个应用程序Spring boot 或 Micronaut 应用程序内部启动另一个应用程序启动 Redis 缓存服务器吗?

如何解决我可以从另一个应用程序Spring boot 或 Micronaut 应用程序内部启动另一个应用程序启动 Redis 缓存服务器吗?

我想为我的应用程序使用 Redis 缓存服务来缓存我将从数据库获取的结果。但是我不想每次都手动启动redis服务器。我可以以某种方式将 Redis 服务器链接到我的应用程序并在我启动 Spring Boot 或 Micronaut 项目时启动吗?

解决方法

实现CommandLineRunner,它会在spring boot启动时执行。

public class ApplicationStartupRunner implements CommandLineRunner {
    protected final Log logger = LogFactory.getLog(getClass());
    @Override
    public void run(String... args) throws Exception {
        logger.info("Application Started !!");
        logger.info("Redis Started !!");
    }
}

关机时添加关机钩子。

@SpringBootApplication
@Slf4j
public class SpringBootShutdownHookApplication {

  public static void main(String[] args) {
    SpringApplication.run(SpringBootShutdownHookApplication.class,args);
  }

  @PreDestroy
  public void onExit() {
    log.info("Stoping springboot.");
    try {
      log.info("Stop redis")
    } catch (InterruptedException e) {
      log.error("",e);;
    }
    log.info("Stop redis success.");
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。