geo*_*eek 1 java spring spring-boot spring-cloud spring-boot-actuator
我正在寻找重启弹簧启动应用程序,所以使用Spring Actuator/restart端点正在使用curl,但我想在应用程序内部使用java代码调用相同的函数,我已经尝试过这段代码了,但它是不工作:
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
RestartEndpoint p = new RestartEndpoint();
p.invoke();
}
});
thread.setDaemon(false);
thread.start();
Run Code Online (Sandbox Code Playgroud)
ale*_*xbt 13
您需要注入RestartEndPoint:
@Autowired
private RestartEndpoint restartEndpoint;
...
Thread restartThread = new Thread(() -> restartEndpoint.restart());
restartThread.setDaemon(false);
restartThread.start();
Run Code Online (Sandbox Code Playgroud)
它可以工作,即使它会抛出异常通知您这可能会导致内存泄漏:
Web应用程序[xyx]似乎已启动名为[Thread-6]的线程但未能阻止它.这很可能造成内存泄漏.堆栈跟踪线程:
spring-boot-actuator,您需要添加spring-cloud-context依赖项.| 归档时间: |
|
| 查看次数: |
4639 次 |
| 最近记录: |