Je souhaite détecter lorsqu'une base de données Oracle est arrêtée. Ces ci-dessous les codes d'erreur sont tirés de http://docs.oracle.com/cd/E23943_01/apirefs.1111/e13952/pagehelp/JDBCjdbcdatasourcesjdbcdatasourceconfigconnectionpooltitle.html:Java détectant les codes d'erreur de la base de données Oracle vers le bas
■ 3113: "fin de fichier sur le canal de communication"
■ 3114: "non connecté à ORACLE"
■ 1033: " initialisation ORACLE ou d'arrêt en cours »
■ 1034: "ORACLE non disponible"
■ 1089: "arrêt immédiat en cours - aucune opération sont autorisées"
■ 1090: "arrêt en cours - connexion ne sont pas autorisés"
■ 17002: "E/S exception"
Je souhaite détecter sans utiliser l'injection de ressources DataSource sans un serveur Glassfish lorsque la base de données Oracle est hors service. Ci-dessous l'exemple de code:
public class Database {
public static void main(String[] args) {
try {
Connection connection = DriverManager.getConnection("url", "username", "password");
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(new String("SELECT name FROM NAMES");
}
catch(SQLException e) {
// use the error code defined above to detect database is down
}
}
}
Comme cela est une application standlone, peut ces codes d'erreur utilisés et vont-ils travailler ou y at-il d'autres codes d'erreur qui fonctionnent pour les applications standlone?