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

关于设计方面的网站图文广告培训班多少钱

关于设计方面的网站,图文广告培训班多少钱,centos 如何建立网站,wordpress图片shuiyin接口重启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/555429.html

相关文章:

  • 大网站设计计算机ui设计是什么
  • 付费下载网站源码网站软文得特点
  • 网站建设搭建是什么意思代理服务器地址是什么
  • 个人接做网站多少钱0基础学网站设计
  • 苏州大学网站建设上海网站商城建设
  • 做化验的网站舆情通
  • 西安网站建设软件网站开发公司挣钱吗
  • 成都市网站建设服务商网站查看空间商
  • 宣城做网站怎么样在网上推广
  • 织梦网站专题页面如何做华硕路由器wordpress
  • 做淘宝要用的网站美空间网站
  • 如何刷网站访问量wordpress 列表 插件
  • 人力招聘网站建设遵义网约车平台哪家好
  • 山西手机版建站系统开发大连网站设计九首选仟亿科技
  • 网站名称在哪里注册室内设计培训网课
  • 在哪里查网站是什么时候建站做网站找哪家好思南
  • 怎么注册网站账号济南网站建设排名
  • 手机网站开发费用汕头企业制作网站推广
  • vs2013如何做网站长沙seo服务哪个公司好
  • 多个网站如何做301建站公司用的开源框架
  • 建设网站要买空间吗国内外网站开发有哪些技术
  • 做淘客网站哪个cms好天津建设工程信息网询
  • 做食品研发都有哪些网站关于汽车的网站
  • 公众号里的电影网站怎么做网站开发后端技术
  • 泉州市网站建设企业信用信息公示官网
  • php网站广告管理系统游戏代理平台免费
  • 在网站后台做网页搜索视频 网站开发
  • jsp网站连接数据库网络建设标准
  • 室内设计师之路网站东莞阳光网官方网站登录
  • 做外汇消息面的网站筑龙网app下载