Search in sources :

Example 6 with Log

use of com.alibaba.druid.support.logging.Log in project druid by alibaba.

the class ConfigErrorTestMysql method test_success.

public void test_success() throws Exception {
    dataSource.setTestWhileIdle(true);
    Field field = DruidDataSource.class.getDeclaredField("LOG");
    dataSource.setValidationQuery("select 1");
    field.setAccessible(true);
    Log LOG = (Log) field.get(null);
    LOG.resetStat();
    Assert.assertEquals(0, LOG.getWarnCount());
    dataSource.init();
    Assert.assertEquals(0, LOG.getWarnCount());
}
Also used : Field(java.lang.reflect.Field) Log(com.alibaba.druid.support.logging.Log)

Example 7 with Log

use of com.alibaba.druid.support.logging.Log in project druid by alibaba.

the class ValidationQueryLogDB2Test method test_oracle.

public void test_oracle() throws Exception {
    Field field = DruidDataSource.class.getDeclaredField("LOG");
    field.setAccessible(true);
    Log log = (Log) field.get(null);
    log.resetStat();
    Connection conn = dataSource.getConnection();
    conn.close();
    Assert.assertEquals(1, log.getErrorCount());
}
Also used : Field(java.lang.reflect.Field) Log(com.alibaba.druid.support.logging.Log) Connection(java.sql.Connection)

Example 8 with Log

use of com.alibaba.druid.support.logging.Log in project druid by alibaba.

the class ValidationQueryLogTest method test_oracle.

public void test_oracle() throws Exception {
    Field field = DruidDataSource.class.getDeclaredField("LOG");
    field.setAccessible(true);
    Log log = (Log) field.get(null);
    log.resetStat();
    Connection conn = dataSource.getConnection();
    conn.close();
    Assert.assertEquals(1, log.getErrorCount());
}
Also used : Field(java.lang.reflect.Field) Log(com.alibaba.druid.support.logging.Log) Connection(java.sql.Connection)

Example 9 with Log

use of com.alibaba.druid.support.logging.Log in project druid by alibaba.

the class AsyncCloseTest2 method setUp.

protected void setUp() throws Exception {
    Field logField = DruidDataSource.class.getDeclaredField("LOG");
    logField.setAccessible(true);
    Log dataSourceLog = (Log) logField.get(null);
    if (dataSourceLog instanceof Log4jImpl) {
        this.log4jLog = ((Log4jImpl) dataSourceLog).getLog();
        this.log4jOldLevel = this.log4jLog.getLevel();
        this.log4jLog.setLevel(Level.FATAL);
    } else if (dataSourceLog instanceof NoLoggingImpl) {
        noLoggingImpl = (NoLoggingImpl) dataSourceLog;
        noLoggingImpl.setErrorEnabled(false);
    }
    dataSource = new DruidDataSource();
    dataSource.setUrl("jdbc:mock:");
    dataSource.setAsyncCloseConnectionEnable(true);
    dataSource.setTestOnBorrow(false);
    dataSource.setMaxActive(16);
    dataSource.getProxyFilters().add(new FilterAdapter() {

        @Override
        public boolean statement_execute(FilterChain chain, StatementProxy statement, String sql) throws SQLException {
            throw new SQLException();
        }
    });
    dataSource.setExceptionSorter(new MyExceptionSorter());
    dataSource.init();
    connExecutor = Executors.newFixedThreadPool(128);
    closeExecutor = Executors.newFixedThreadPool(128);
}
Also used : Field(java.lang.reflect.Field) Log4jImpl(com.alibaba.druid.support.logging.Log4jImpl) Log(com.alibaba.druid.support.logging.Log) SQLException(java.sql.SQLException) FilterChain(com.alibaba.druid.filter.FilterChain) StatementProxy(com.alibaba.druid.proxy.jdbc.StatementProxy) FilterAdapter(com.alibaba.druid.filter.FilterAdapter) NoLoggingImpl(com.alibaba.druid.support.logging.NoLoggingImpl) DruidDataSource(com.alibaba.druid.pool.DruidDataSource)

Example 10 with Log

use of com.alibaba.druid.support.logging.Log in project druid by alibaba.

the class AsyncCloseTest3 method setUp.

protected void setUp() throws Exception {
    // m;
    xmx = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getMax() / (1000 * 1000);
    System.gc();
    Field logField = DruidDataSource.class.getDeclaredField("LOG");
    logField.setAccessible(true);
    Log dataSourceLog = (Log) logField.get(null);
    if (dataSourceLog instanceof Log4jImpl) {
        this.log4jLog = ((Log4jImpl) dataSourceLog).getLog();
        this.log4jOldLevel = this.log4jLog.getLevel();
        this.log4jLog.setLevel(Level.FATAL);
    } else if (dataSourceLog instanceof NoLoggingImpl) {
        noLoggingImpl = (NoLoggingImpl) dataSourceLog;
        noLoggingImpl.setErrorEnabled(false);
    }
    dataSource = new DruidDataSource();
    dataSource.setUrl("jdbc:mock:");
    // dataSource.setAsyncCloseConnectionEnable(true);
    dataSource.setTestOnBorrow(false);
    dataSource.setMaxActive(16);
    dataSource.getProxyFilters().add(new FilterAdapter() {

        @Override
        public boolean statement_execute(FilterChain chain, StatementProxy statement, String sql) throws SQLException {
            throw new SQLException();
        }
    });
    dataSource.setExceptionSorter(new MyExceptionSorter());
    dataSource.init();
    connExecutor = Executors.newFixedThreadPool(2);
    closeExecutor = Executors.newFixedThreadPool(2);
}
Also used : Field(java.lang.reflect.Field) Log4jImpl(com.alibaba.druid.support.logging.Log4jImpl) Log(com.alibaba.druid.support.logging.Log) SQLException(java.sql.SQLException) FilterChain(com.alibaba.druid.filter.FilterChain) StatementProxy(com.alibaba.druid.proxy.jdbc.StatementProxy) FilterAdapter(com.alibaba.druid.filter.FilterAdapter) NoLoggingImpl(com.alibaba.druid.support.logging.NoLoggingImpl) DruidDataSource(com.alibaba.druid.pool.DruidDataSource)

Aggregations

Log (com.alibaba.druid.support.logging.Log)10 Field (java.lang.reflect.Field)10 Connection (java.sql.Connection)4 DruidDataSource (com.alibaba.druid.pool.DruidDataSource)3 Log4jImpl (com.alibaba.druid.support.logging.Log4jImpl)3 NoLoggingImpl (com.alibaba.druid.support.logging.NoLoggingImpl)3 FilterAdapter (com.alibaba.druid.filter.FilterAdapter)2 FilterChain (com.alibaba.druid.filter.FilterChain)2 StatementProxy (com.alibaba.druid.proxy.jdbc.StatementProxy)2 SQLException (java.sql.SQLException)2