连接将打印信息汇集到控制台

时间:2015-10-27 05:34:50

标签: java database-connection connection-pooling mariadb

我在独立的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进行连接池,它只用于应用程序级别的日志记录。

0 个答案:

没有答案