我们有一个在VPN上运行的Spring Boot应用程序。
可能会发生传出通信停止几分钟,因此应用程序无法再与数据库连接,我们得到异常
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
.....
.....
Caused by: java.net.UnknownHostException: cxxxxxxx.xxxxxxx.eu-west-1.rds.amazonaws.com
问题是应用程序在这种情况下不会退出(如果它退出它会在一段时间后重新启动它)但显然它不起作用。 我想知道是否有办法捕获此异常,因此我们可以优雅地退出并重新启动它。
它是标准的Spring Boot应用程序,所以我们有典型的起始类
@SpringBootApplication
@EnableScheduling
public class StartServer extends SpringBootServletInitializer{
public static void main(String[] args){
SpringApplication.run(StartServer.class, args);
}
}