Du kan ställa in Timeout på DriverManager så här:
DriverManager.setLoginTimeout(10);
Connection c = DriverManager.getConnection(url, username, password);
Vilket skulle innebära att om anslutningen inte kan öppnas inom den givna tiden att den tar slut.
När det gäller att hålla en anslutning öppen för alltid är det möjligt om du inte stänger anslutningen men det kanske inte är en bra idé. Anslutningar bör stängas så snart du är klar med dem.
Om du vill optimera öppning och stängning av anslutningar kan du använda en anslutningspool.