如何解决我可以从另一个应用程序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 举报,一经查实,本站将立刻删除。