Estoy escribiendo una aplicación red5 usando Java y estoy usando el c3p0 para la interacción de la base de datos.java c3p0: ¿cómo puedo configurar autoreconnect = true?
Parece que después de la conexión como tiempo de espera agotado en mi servidor MySQL mi aplicación deja de funcionar con una sugerencia para configurar autoreconnect = true.
¿cómo puedo hacerlo?
Ésta es la función que utilizo para crear el origen de datos:
private ComboPooledDataSource _createDataSource() {
Properties props = new Properties();
// Looks for the file 'database.properties' in {TOMCAT_HOME}\webapps\{RED5_HOME}\WEB-INF\
try {
FileInputStream in = new FileInputStream(System.getProperty("red5.config_root") + "/database.properties");
props.load(in);
in.close();
} catch (IOException ex) {
log.error("message: {}", ex.getMessage());
log.error("stack trace: " + ExceptionUtils.getFullStackTrace(ex));
return null;
}
// It will load the driver String from properties
String drivers = props.getProperty("jdbc.drivers");
String url = props.getProperty("jdbc.url");
String username = props.getProperty("jdbc.username");
String password = props.getProperty("jdbc.password");
ComboPooledDataSource cpds = new ComboPooledDataSource();
try {
cpds.setDriverClass(drivers);
} catch (PropertyVetoException ex) {
log.error("message: {}", ex.getMessage());
log.error("stack trace: " + ExceptionUtils.getFullStackTrace(ex));
return null;
}
cpds.setJdbcUrl(url);
cpds.setUser(username);
cpds.setPassword(password);
cpds.setMaxStatements(180);
return cpds;
}
Sí! Mucho mejor. autoreconnect es oficialmente recomendado por MYSQL como fuerte - puede causar problemas de corrupción. Lo siento, no tengo el enlace, lo vi hace unos años. – MJB