gpt4 book ai didi

java - 方法执行重试

转载 作者:行者123 更新时间:2023-11-29 08:26:57 26 4
gpt4 key购买 nike

如果在启动过程中发生错误,我想尝试重新运行我的应用程序。

这是我的方法:

while(true) {
try {
SpringApplication.run(StatisticsApplication.class, args);
} catch (Exception e) {
SpringApplication.run(StatisticsApplication.class, args);
throw new RuntimeException("Could not execute getConnection().", e);
}
}

遗憾的是,它无法正常工作。如果应用程序启动失败,它会再次重新启动一次然后退出。

最佳答案

我强烈建议不要使用您当前的方法,因为它非常危险。

我建议您改用 Spring Retry:documentation

This project provides declarative retry support for Spring applications. It is used in Spring Batch, Spring Integration, Spring for Apache Hadoop (amongst others).

Quick Start

Example:

@Configuration
@EnableRetry
public class Application {

@Bean
public Service service() {
return new Service();
}

}

@Service
class Service {
@Retryable(RemoteAccessException.class)
public void service() {
// ... do something
}
@Recover
public void recover(RemoteAccessException e) {
// ... panic
}
}

这是另一个关于如何使用 Spring Retry 的指南:

关于java - 方法执行重试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51983101/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com