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

网银网站模板python基础教程下载

网银网站模板,python基础教程下载,南宁企业网站设计公司,如果做微商需不需要开个网站。接口重启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/787305.html

相关文章:

  • 做微商在哪个网站打广告好网站开发微盘
  • 工程建设举报网有哪些网站搭建个人网站的步骤
  • 麦壳云网站建设临淄区最新招聘信息
  • 2023来个网站可以看的中国工业设计在线官网
  • 网站手机模板源码模板网站建设方案
  • 网站开发中涉及的两种服务器句容本地网站
  • 深圳惠州网站建设烟台网站推广广州公司
  • 网站搭建兼职怎么弄视频
  • 公司建设网站产生哪些费用网站建设情况存在问题
  • 哈尔滨网站制作推广福州福清网站建设
  • 网站 关键词库wordpress 流水 插件
  • 怎么做自己的html网站威胁网站检测平台建设中标
  • 徐州做汽车销售的公司网站做网站后期需要什么费用
  • 南京工程建设招聘信息网站网站开发 属于研发费用吗
  • 广州企业网站建设开发vue 大型网站开发
  • 网站开发公司加盟哈尔滨网站建设模板
  • 哪个网站做长图免费转高清图片辽宁建设工程信息网网上开标
  • 手机企业wap网站怎么建网站和网站模块
  • 婚纱摄影的网站模板三明市住房和城乡建设局网站
  • 上饶做网站要多少钱百度热搜榜怎么打开
  • 内蒙古建设厅官网站广州seo工资
  • 做面包有哪些网站知乎网页布局设计主要有什么类型
  • 提供郑州网站建设做网站旅游销售
  • 网站建设vipjiuselu十大免费视频素材网站
  • 优化网站哪家好网站建设页面带声音
  • 广州网站建设免费北京最新防疫信息
  • 济南外贸建站网站top排行榜
  • 医疗软件网站建设成品影视app开发月光宝盒怎么样
  • 旅游网站页面设计模板果洛wap网站建设公司
  • 付网站建设服务费的会计分录硬件开发平台是什么