Możesz ustawić limit czasu w DriverManager w następujący sposób:
DriverManager.setLoginTimeout(10);
Connection c = DriverManager.getConnection(url, username, password);
Co oznaczałoby, że jeśli połączenie nie może się otworzyć w określonym czasie, to przekroczy limit czasu.
Jeśli chodzi o utrzymywanie połączenia otwartego na zawsze, jest to możliwe, jeśli nie zamkniesz połączenia, ale może to nie być dobry pomysł. Połączenia powinny zostać zamknięte zaraz po ich zakończeniu.
Jeśli chcesz zoptymalizować otwieranie i zamykanie połączeń, możesz użyć puli połączeń.