package org.dayatang.dsrouter.builder.mysql;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class C3P0MySQLDataSourceBuilder extends AbstractMySQLDataSourceBuilder {
/**
*
*/
private static final long serialVersionUID = -3878478941903135678L;
private static final Logger LOGGER = LoggerFactory
.getLogger(C3P0MySQLDataSourceBuilder.class);
private static final String PROP_FILE = "datasource-default-properties-c3p0.properties";
private static final Properties defaultProp = new Properties();
private static final InputStream defaultPropIns = C3P0MySQLDataSourceBuilder.class
.getResourceAsStream("/" + PROP_FILE);
static {
try {
defaultProp.load(defaultPropIns);
} catch (IOException e) {
error("initial properties error!!");
System.err.println("initial properties error!!");
System.exit(1);
}
}
@Override
protected Class<? extends DataSource> getDataSourceClass() {
return ComboPooledDataSource.class;
}
@Override
protected String getDriverProperty() {
return "driverClass";
}
@Override
protected String getJdbcUrlProperty() {
return "jdbcUrl";
}
@Override
protected String getPasswordProperty() {
return "password";
}
@Override
protected String getUserProperty() {
return "user";
}
@Override
protected Properties getDefaultProp() {
return defaultProp;
}
private static void error(String message, Object... params) {
if (LOGGER.isErrorEnabled()) {
LOGGER.error(message, params);
}
}
}