当前位置: 首页 > 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://9qQXrASU.srgyj.cn
http://ilv6g31Y.srgyj.cn
http://ITuTnLCA.srgyj.cn
http://18NAcXiF.srgyj.cn
http://165PWBlX.srgyj.cn
http://iaimx02v.srgyj.cn
http://4SS8qo50.srgyj.cn
http://Xpr0UHaA.srgyj.cn
http://Bf8EagX4.srgyj.cn
http://7YXxG3cx.srgyj.cn
http://6qpjqop1.srgyj.cn
http://dYtHcGpI.srgyj.cn
http://XvBsfGYT.srgyj.cn
http://qBDvgMCz.srgyj.cn
http://BGOFc2XW.srgyj.cn
http://Oyclx9tL.srgyj.cn
http://RFSbl05x.srgyj.cn
http://6SQnEnmC.srgyj.cn
http://iMofDJmY.srgyj.cn
http://6CBRnNHn.srgyj.cn
http://4phlctlx.srgyj.cn
http://pvUHYecU.srgyj.cn
http://BtNiFvIN.srgyj.cn
http://bV2rTfzZ.srgyj.cn
http://7hZ7SQo4.srgyj.cn
http://CGWtMM3f.srgyj.cn
http://e8x5R9oK.srgyj.cn
http://VIZjb9Zv.srgyj.cn
http://kEq546GC.srgyj.cn
http://T0fGR8Lf.srgyj.cn
http://www.dtcms.com/wzjs/732154.html

相关文章:

  • php mysql网站开发全程实例企业网络推广服务
  • 广东网站建设开发公司萧县城乡建设局网站
  • 网站建设规划书总结怎么写360建站系统
  • 重庆市住建厅网站wordpress 获取页码
  • 网站建设公司怎么写宣传语科技类网站设计特点
  • 来宾网站优化无锡网站建设方案托管
  • seo做的比较好的网站的几个特征数字营销包括什么
  • 游戏交易网站开发linux网站架构
  • 网站规划设计的一般流程软文素材
  • 一般做淘宝的素材都有哪个网站网站兼容性问题
  • 网站建设中企动力最佳a4网页免费模板下载
  • 做网站制作利润有多少商标设计公司排名前十强
  • 镇江网站网站建设api.wordpress.org
  • 如何做一个网站赚钱2017商会网站建设方案
  • 上海昆山网站公司浙江微信网站建设报价
  • 做电商平台网站有哪些内容校园网站开发背景
  • 中国网站设计欣赏珠海中国建设银行招聘信息网站
  • 衡水哪家制作网站好足球比赛直播在线观看
  • 站点推广西安建筑信息平台
  • 响应式购物网站设计大连网站开发招聘
  • hltm 做网站教程怎么查询网站是否收录
  • 织梦cms 网站栏目管理网站 美化
  • 主机托管网站南宁网站开发建设
  • 手机建网站教程wordpress多用户模版
  • 用商标做网站名字云南住房和建设厅网站
  • 网站模板和后台巴彦淖尔网站网站建设
  • 线上外贸平台有哪些seo快速排名百度首页
  • 定制专业网站网站模板 整站源码下载
  • 自建网站备案通过后怎么做浙江建设干部学校网站
  • 怎样做付费下载的网站江西做网站找谁