Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 连接池将打印信息打印到控制台_Java_Database Connection_Connection Pooling_Mariadb - Fatal编程技术网

Java 连接池将打印信息打印到控制台

Java 连接池将打印信息打印到控制台,java,database-connection,connection-pooling,mariadb,Java,Database Connection,Connection Pooling,Mariadb,我在我的独立java数据库加载器应用程序中使用“com.mchange.v2.c3p0.ComboPooledDataSource”。初始化数据连接时,它会将连接信息打印到eclipse中的控制台窗口。它还包括数据库用户名和密码相关信息 使用的数据库是MariaDB "Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@b1a58a3 [connectionPoolDataSource -&g

我在我的独立java数据库加载器应用程序中使用“com.mchange.v2.c3p0.ComboPooledDataSource”。初始化数据连接时,它会将连接信息打印到eclipse中的控制台窗口。它还包括数据库用户名和密码相关信息

使用的数据库是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用于连接池,它仅用于应用程序级日志记录。

识别错误实际上很有帮助,只要用户名和密码相关,请检查您的代码,无论它是使用一些日志语句或Sysout打印此信息(用户名和密码),还是不可能重复hi-bilbo,没有执行任何sysout语句。在调用getconnection()后,它很快就会打印信息。我尝试了该线程中解释的解决方案,但在我的场景中没有帮助。我甚至尝试将logger root level设置为NONE,即使这样,我也可以看到连接池信息被打印到控制台。有什么建议吗?这实际上有助于识别错误,只要用户名和密码相关,检查您的代码,它是否正在打印此信息(用户名和密码)使用一些log语句或Sysout或hi bilbo的不可能重复,thr不会执行任何Sysout语句。在调用getconnection()后,它很快就会打印信息。我尝试了该线程中解释的解决方案,但在我的场景中没有帮助。我甚至尝试将logger root level设置为NONE,即使这样,我也可以看到连接池信息被打印到控制台上。有什么建议吗?