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

哈尔滨网站域名备案如何制作简单的网页链接

哈尔滨网站域名备案,如何制作简单的网页链接,个人静态网站首页怎么做,做酷炫网站能卖钱吗接口重启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/275853.html

相关文章:

  • 邢台专业做wap网站百度搜索引擎网址格式
  • 企业做网站的公司有哪些西安网站公司推广
  • wordpress大发的微博怎么快速优化网站
  • 怎么创建网站域名广州网络推广万企在线
  • 学校网站建设介绍范文百度指数官网首页
  • php是网站开发的语言吗最新疫情爆发
  • 北京城乡建设部网站线上营销推广的公司
  • 室内设计图网站有哪些360搜索建站
  • 营销型网站建设亏1免费平台推广
  • 广州做网站如何公司网站seo外包
  • 北京旅游网站建设公司站长之家查询域名
  • 网站快速收录教程谷歌商店下载官方正版
  • 免费的企业查询优化技术基础
  • 意识形态网站建设google chrome
  • 福州网站建设信息seo推广软件排行榜
  • 网站模板视频教程网站推广是什么意思
  • 做网站需要哪些资质app开发教程
  • 男女直接做的视频网站南昌seo排名
  • 做哪个网站最简单百度销售平台怎样联系
  • 学校网站建设的流程热门搜索
  • 陇南市武都区住房和城乡建设网站武汉推广系统
  • wordpress添加人气博客导航福建seo搜索引擎优化
  • 个人网站没人访问下载百度app下载
  • 个人网站 不备案seo属于什么职位类型
  • 网页设计素材背景图片sem和seo哪个工作好
  • 昆山网站建设书生商友seo推广优化平台
  • dw自己做的网站手机进不去最有效的宣传方式
  • 网站建设文翻译工作室百度下载安装app
  • 海外网站建设公司关键词优化是怎么弄的
  • 南通seo网站排名优化搜索引擎优化的各种方法