当前位置: 首页 > wzjs >正文

怎么做网站推广电话window优化大师

怎么做网站推广电话,window优化大师,网址导航怎么设置主页,优良的定制网站建设接口重启Spring Boot项目中,通过接口实现应用重启是运维场景中的常见需求。以下是三种主流实现方案及其详细步骤和注意事项: ⚙️ ​​1. 手动重启上下文(无需额外依赖)​​ ​​核心原理​​ 通过关闭当前ConfigurableApplicat…

接口重启Spring Boot项目中,通过接口实现应用重启是运维场景中的常见需求。以下是三种主流实现方案及其详细步骤和注意事项:

⚙️ ​​1. 手动重启上下文(无需额外依赖)​​

​​核心原理​​
通过关闭当前ConfigurableApplicationContext并重新初始化Spring上下文实现重启。

​​实现步骤​​:

​​主类改造​​
保存上下文与启动参数,提供静态restart()方法

@SpringBootApplication
public class App {private static ConfigurableApplicationContext context;private static String[] args;public static void main(String[] args) {App.args = args;App.context = SpringApplication.run(App.class, args);}public static void restart() {// 使用独立线程避免JVM退出Thread thread = new Thread(() -> {context.close(); // 关闭当前上下文context = SpringApplication.run(App.class, args); // 重建上下文});thread.setDaemon(false); // 必须为非守护线程thread.start();}
}

​​添加重启接口​​
在Controller中调用主类的重启方法

@RestController
public class RestartController {@PostMapping("/restart")public String restart() {App.restart();return "重启中...";}
}

在Spring Boot项目中,通过接口实现应用重启是运维场景中的常见需求。以下是三种主流实现方案及其详细步骤和注意事项:

⚙️ ​​1. 手动重启上下文(无需额外依赖)​​
​​核心原理​​
通过关闭当前ConfigurableApplicationContext并重新初始化Spring上下文实现重启。

​​实现步骤​​:

​​主类改造​​
保存上下文与启动参数,提供静态restart()方法:
@SpringBootApplication
public class App {
private static ConfigurableApplicationContext context;
private static String[] args;

public static void main(String[] args) {App.args = args;App.context = SpringApplication.run(App.class, args);
}public static void restart() {// 使用独立线程避免JVM退出Thread thread = new Thread(() -> {context.close(); // 关闭当前上下文context = SpringApplication.run(App.class, args); // 重建上下文});thread.setDaemon(false); // 必须为非守护线程thread.start();
}

}
​​添加重启接口​​
在Controller中调用主类的重启方法:
@RestController
public class RestartController {
@PostMapping(“/restart”)
public String restart() {
App.restart();
return “重启中…”;
}
}
​​注意事项​​⚠️:

​​线程安全​​:确保重启操作在新线程中执行,避免阻塞主线程导致JVM退出。
​​接口保护​​:生产环境需通过Spring Security限制IP白名单或鉴权。

方案二:手动重建 ApplicationContext(无需 Spring Cloud)

适用场景:避免引入额外依赖,需完全控制重启逻辑
实现原理:保存主上下文,通过新线程关闭旧上下文后重新初始化
步骤:

启动类保存上下文引用:

@SpringBootApplication
public class Application {public static ConfigurableApplicationContext context;public static void main(String[] args) {context = SpringApplication.run(Application.class, args);}
}

编写重启接口:

import org.springframework.boot.SpringApplication;
import org.springframework.context.ApplicationArguments;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class RestartController {@PostMapping("/restart")public String restart() {new Thread(() -> {// 获取启动参数ApplicationArguments args = Application.context.getBean(ApplicationArguments.class);// 关闭旧上下文Application.context.close();// 创建新上下文Application.context = SpringApplication.run(Application.class, args.getSourceArgs());}).start();return "重启中...";}
}

注意:需设置线程为非守护线程(thread.setDaemon(false)),避免进程被意外终止
1

http://www.dtcms.com/wzjs/393160.html

相关文章:

  • 牛推网络重庆seo排名优化费用
  • 想做网站策划怎么做成都网站建设方案外包
  • 谁有哪种浏览器网站免费的百度自己的宣传广告
  • 什么网站 是cms系统下载2345网址导航大全
  • 北京网站设计公司兴田德润怎么样百度指数代表什么
  • 做网站数据库要建什么表百度账户托管
  • 哪些网站可以做日语翻译百度公司排名
  • 上海自助建站企业怎么做网站教程视频
  • wordpress avada优化seo运营
  • 给别人做网站要问什么问题东莞疫情最新数据
  • 装修上什么网站比较好百度地图导航2021最新版
  • 在深圳做网站平台需要什么备案泰安seo排名
  • 全案营销的未来发展趋势seo研究中心vip课程
  • 易物网网站建设管理郑州网站推广培训
  • 网站建设开发计划模板免费发布产品的网站
  • 企业靠网站接单seo推广优势
  • 网站建设太金手指六六十网络运营seo是什么
  • 如何建立本地网站重庆seo整站优化设置
  • 广州市建设网站网络营销pdf
  • 网站后台有什么用广告联盟全自动赚钱系统
  • 关于服装店网站建设的策划方案在线代理浏览国外网站
  • 泉州公司网站建设网络营销网络推广
  • 网站建设报价单模板b站广告投放平台入口
  • 专业做网站技术网络运营策划
  • 网站怎么申请官网沪深300指数是什么意思
  • dreamweaver8.0做网站什么是关键词搜索
  • wordpress大幅广告seo排名策略
  • vps服务器的iis网站谷歌google
  • 沈阳怎么做网站推广链接点击器
  • 网站建站制作网站的工具