2018-04-10
springboot-优雅的启动停止服务
springboot 评论:0 浏览:476

转载请注明出处:https://oldnoop.tech/c/186.html

配置停止服务的监听端口

在application.properties配置

shutdown.port=28082

启动类引入ApplicationContext

private static ApplicationContext atx = null;

启动类主函数

接收参数,判断是启动还是停止服务

//spring boot 优雅的 启动/停止服务
public static void main(String[] args) {
    //程序执行参数
    String mode = args != null && args.length > 0 ? args[0] : null;
    //如果参数为stop
    if (mode != null && "stop".equalsIgnoreCase(mode)) {
        //则停止服务
        ShutdownService.shutdown();
    } else {//如果参数不为stop
        //启动服务,赋值atx
        atx = SpringApplication.run(SpringbootVueServerApplication.class, args);
        //同时开始监听 停止服务的请求
        ShutdownService.monitor();
    }
}

启动类如何停止服务

//实际停止服务
public static int stop() {
    int code = SpringApplication.exit(atx, new ExitCodeGenerator() {
        @Override
        public int getExitCode() {
            System.out.println("停止应用...");
            return 0;
        }
    });
    return code;
}

停止服务类

编写停止服务类ShutdownService



  • 转载请注明出处:https://oldnoop.tech/c/186.html

Copyright © 2018 oldnoop.tech. All Rights Reserved

鄂ICP备2023022735号-1