我在独立的java数据库加载器应用程序中使用“com.mchange.v2.c3p0.ComboPooledDataSource”。在初始化数据连接时,它将连接信息打印到eclipse中的控制台窗口。它还包括数据库用户名和密码相关信息。
使用的Db是MariaDB。
"Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@b1a58a3 [connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@7a4f0f29"
如何阻止它向控制台显示此消息。 在此代码行之后,内容将打印到控制台
myConn = DataSource.getInstance()。getConnection();
实施:
public class DataSource {
private static DataSource datasource;
private ComboPooledDataSource cpds;
Properties prop = new Properties();
InputStream input = null;
private DataSource() throws IOException, SQLException, PropertyVetoException {
input = new FileInputStream("config.properties");
prop.load(input);
cpds = new ComboPooledDataSource();
cpds.setDriverClass(prop.getProperty("driverclass")); //loads the jdbc driver
cpds.setJdbcUrl(prop.getProperty("database"));
cpds.setUser(prop.getProperty("dbuser"));
cpds.setPassword(prop.getProperty("dbpassword"));
cpds.setMinPoolSize(5);
cpds.setAcquireIncrement(5);
cpds.setMaxPoolSize(20);
cpds.setMaxStatements(180);
}
public static DataSource getInstance() throws IOException, SQLException, PropertyVetoException {
if (datasource == null) {
datasource = new DataSource();
return datasource;
} else {
return datasource;
}
}
public Connection getConnection() throws SQLException {
return this.cpds.getConnection();
}
}
我读了config.properties文件,其中存储了数据库名称和crdentials详细信息。
我正在从我的主类调用连接池,就像这样,
myConn = DataSource.getInstance().getConnection();
myConn.setAutoCommit(false);
执行此行后不久,我在控制台中看到一个条目,提及有关连接池的详细信息,包括数据库名称,用户名和密码详细信息。我没有使用log4j进行连接池,它只用于应用程序级别的日志记录。