Java 方法执行重试
如果启动过程中发生错误,我想尝试重新运行我的应用程序 这是我的方法:Java 方法执行重试,java,loops,Java,Loops,如果启动过程中发生错误,我想尝试重新运行我的应用程序 这是我的方法: while(true) { try { SpringApplication.run(StatisticsApplication.class, args); } catch (Exception e) { SpringApplication.run(StatisticsApplication.class, args); throw new RuntimeEx
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重试
:
此项目为Spring提供声明性重试支持
应用。用于弹簧批、弹簧集成、弹簧
对于ApacheHadoop(以及其他)
快速启动
示例:
@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重试的另一个指南:
Spring重试
:
此项目为Spring提供声明性重试支持
应用。用于弹簧批、弹簧集成、弹簧
对于ApacheHadoop(以及其他)
快速启动
示例:
@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重试的另一个指南: