protected void setUp() throws Exception {
    TabularData sqlList = JdbcStatManager.getInstance().getSqlList();
    if (sqlList.size() > 0) {
      for (Object item : JdbcStatManager.getInstance().getSqlList().values()) {
        String text = JSONUtils.toJSONString(item);
        System.out.println(text);
      }
    }

    Assert.assertEquals(0, JdbcStatManager.getInstance().getSqlList().size());

    dataSource = new DruidDataSource();
    dataSource.setUrl("jdbc:mock:xx");
    dataSource.setFilters("mergeStat");
    dataSource.setDbType("mysql");
  }
  protected void setUp() throws Exception {
    Assert.assertEquals(0, JdbcStatManager.getInstance().getSqlList().size());

    dataSource = new DruidDataSource();

    dataSource.setExceptionSorter(new OracleExceptionSorter());

    dataSource.setDriver(new OracleMockDriver());
    dataSource.setUrl("jdbc:mock:xxx");
    dataSource.setPoolPreparedStatements(true);
    dataSource.setMaxOpenPreparedStatements(100);
  }
Exemple #3
0
  /**
   * 参数定义: com.alibaba.druid.log.LogFilter=filter com.alibaba.druid.log.LogFilter.p1=prop-value
   * com.alibaba.druid.log.LogFilter.p2=prop-value
   *
   * @param url
   * @return
   * @throws SQLException
   */
  private DataSourceProxyImpl getDataSource(String url, Properties info) throws SQLException {
    DataSourceProxyImpl dataSource = proxyDataSources.get(url);

    if (dataSource == null) {
      DataSourceProxyConfig config = parseConfig(url, info);

      Driver rawDriver = createDriver(config.getRawDriverClassName());

      DataSourceProxyImpl newDataSource = new DataSourceProxyImpl(rawDriver, config);

      {
        String property = System.getProperty("druid.filters");
        if (property != null && property.length() > 0) {
          for (String filterItem : property.split(",")) {
            FilterManager.loadFilter(config.getFilters(), filterItem);
          }
        }
      }
      {
        int dataSourceId = createDataSourceId();
        newDataSource.setId(dataSourceId);

        for (Filter filter : config.getFilters()) {
          filter.init(newDataSource);
        }
      }

      DataSourceProxy oldDataSource = proxyDataSources.putIfAbsent(url, newDataSource);
      if (oldDataSource == null) {
        if (config.isJmxOption()) {
          JMXUtils.register("com.alibaba.druid:type=JdbcStat", JdbcStatManager.getInstance());
        }
      }

      dataSource = proxyDataSources.get(url);
    }
    return dataSource;
  }
  protected void setUp() throws Exception {
    DruidDataSourceStatManager.clear();

    driver = new MockDriver();

    dataSource = new DruidDataSource();
    dataSource.setUrl("jdbc:mock:xxx");
    dataSource.setDriver(driver);
    dataSource.setInitialSize(1);
    dataSource.setMaxActive(2);
    dataSource.setMaxIdle(2);
    dataSource.setMinIdle(1);
    dataSource.setMinEvictableIdleTimeMillis(300 * 1000); // 300 / 10
    dataSource.setTimeBetweenEvictionRunsMillis(180 * 1000); // 180 / 10
    dataSource.setTestWhileIdle(true);
    dataSource.setTestOnBorrow(false);
    dataSource.setValidationQuery("SELECT 1");
    dataSource.setFilters("stat,trace");

    JdbcStatContext context = new JdbcStatContext();
    context.setTraceEnable(true);
    JdbcStatManager.getInstance().setStatContext(context);
  }
  public CompositeDataSupport getCompositeData() throws JMException {
    JdbcDataSourceStat stat = this.getDataSourceStat();

    Map<String, Object> map = new HashMap<String, Object>();

    map.put("ID", id);
    map.put("URL", this.getUrl());
    map.put("Name", this.getName());
    map.put("FilterClasses", getFilterClasses());
    map.put("CreatedTime", getCreatedTime());

    map.put("RawDriverClassName", getRawDriverClassName());
    map.put("RawUrl", getRawUrl());
    map.put("RawDriverMajorVersion", getRawDriverMajorVersion());
    map.put("RawDriverMinorVersion", getRawDriverMinorVersion());
    map.put("Properties", getProperties());

    if (stat != null) {
      map.put("ConnectionActiveCount", stat.getConnectionActiveCount());
      map.put("ConnectionActiveCountMax", stat.getConnectionStat().getActiveMax());
      map.put("ConnectionCloseCount", stat.getConnectionStat().getCloseCount());
      map.put("ConnectionCommitCount", stat.getConnectionStat().getCommitCount());
      map.put("ConnectionRollbackCount", stat.getConnectionStat().getRollbackCount());

      map.put("ConnectionConnectLastTime", stat.getConnectionStat().getConnectLastTime());
      map.put("ConnectionConnectErrorCount", stat.getConnectionStat().getConnectErrorCount());
      Throwable lastConnectionConnectError = stat.getConnectionStat().getConnectErrorLast();
      if (lastConnectionConnectError != null) {
        map.put("ConnectionConnectErrorLastTime", stat.getConnectionStat().getErrorLastTime());
        map.put("ConnectionConnectErrorLastMessage", lastConnectionConnectError.getMessage());
        map.put(
            "ConnectionConnectErrorLastStackTrace",
            Utils.getStackTrace(lastConnectionConnectError));
      } else {
        map.put("ConnectionConnectErrorLastTime", null);
        map.put("ConnectionConnectErrorLastMessage", null);
        map.put("ConnectionConnectErrorLastStackTrace", null);
      }

      map.put("StatementCreateCount", stat.getStatementStat().getCreateCount());
      map.put("StatementPrepareCount", stat.getStatementStat().getPrepareCount());
      map.put("StatementPreCallCount", stat.getStatementStat().getPrepareCallCount());
      map.put("StatementExecuteCount", stat.getStatementStat().getExecuteCount());
      map.put("StatementRunningCount", stat.getStatementStat().getRunningCount());

      map.put("StatementConcurrentMax", stat.getStatementStat().getConcurrentMax());
      map.put("StatementCloseCount", stat.getStatementStat().getCloseCount());
      map.put("StatementErrorCount", stat.getStatementStat().getErrorCount());
      Throwable lastStatementError = stat.getStatementStat().getLastException();
      if (lastStatementError != null) {
        map.put("StatementLastErrorTime", stat.getStatementStat().getLastErrorTime());
        map.put("StatementLastErrorMessage", lastStatementError.getMessage());

        map.put("StatementLastErrorStackTrace", Utils.getStackTrace(lastStatementError));
      } else {
        map.put("StatementLastErrorTime", null);
        map.put("StatementLastErrorMessage", null);

        map.put("StatementLastErrorStackTrace", null);
      }
      map.put("StatementExecuteMillisTotal", stat.getStatementStat().getMillisTotal());
      map.put("StatementExecuteLastTime", stat.getStatementStat().getExecuteLastTime());
      map.put("ConnectionConnectingCount", stat.getConnectionStat().getConnectingCount());
      map.put("ResultSetCloseCount", stat.getResultSetStat().getCloseCount());

      map.put("ResultSetOpenCount", stat.getResultSetStat().getOpenCount());
      map.put("ResultSetOpenningCount", stat.getResultSetStat().getOpeningCount());
      map.put("ResultSetOpenningMax", stat.getResultSetStat().getOpeningMax());
      map.put("ResultSetFetchRowCount", stat.getResultSetStat().getFetchRowCount());
      map.put("ResultSetLastOpenTime", stat.getResultSetStat().getLastOpenTime());

      map.put("ResultSetErrorCount", stat.getResultSetStat().getErrorCount());
      map.put("ResultSetOpenningMillisTotal", stat.getResultSetStat().getAliveMillisTotal());
      map.put("ResultSetLastErrorTime", stat.getResultSetStat().getLastErrorTime());
      Throwable lastResultSetError = stat.getResultSetStat().getLastError();
      if (lastResultSetError != null) {
        map.put("ResultSetLastErrorMessage", lastResultSetError.getMessage());
        map.put("ResultSetLastErrorStackTrace", Utils.getStackTrace(lastResultSetError));
      } else {
        map.put("ResultSetLastErrorMessage", null);
        map.put("ResultSetLastErrorStackTrace", null);
      }

      map.put("ConnectionConnectCount", stat.getConnectionStat().getConnectCount());
      Throwable lastConnectionError = stat.getConnectionStat().getErrorLast();
      if (lastConnectionError != null) {
        map.put("ConnectionErrorLastMessage", lastConnectionError.getMessage());
        map.put("ConnectionErrorLastStackTrace", Utils.getStackTrace(lastConnectionError));
      } else {
        map.put("ConnectionErrorLastMessage", null);
        map.put("ConnectionErrorLastStackTrace", null);
      }
      map.put("ConnectionConnectMillisTotal", stat.getConnectionStat().getConnectMillis());
      map.put("ConnectionConnectingCountMax", stat.getConnectionStat().getConnectingMax());

      map.put("ConnectionConnectMillisMax", stat.getConnectionStat().getConnectMillisMax());
      map.put("ConnectionErrorLastTime", stat.getConnectionStat().getErrorLastTime());
      map.put("ConnectionAliveMillisMax", stat.getConnectionConnectAliveMillisMax());
      map.put("ConnectionAliveMillisMin", stat.getConnectionConnectAliveMillisMin());

      map.put("ConnectionHistogram", stat.getConnectionHistogramValues());
      map.put("StatementHistogram", stat.getStatementStat().getHistogramValues());
    } else {
      map.put("ConnectionActiveCount", null);
      map.put("ConnectionActiveCountMax", null);
      map.put("ConnectionCloseCount", null);
      map.put("ConnectionCommitCount", null);
      map.put("ConnectionRollbackCount", null);

      map.put("ConnectionConnectLastTime", null);
      map.put("ConnectionConnectErrorCount", null);
      map.put("ConnectionConnectErrorLastTime", null);
      map.put("ConnectionConnectErrorLastMessage", null);
      map.put("ConnectionConnectErrorLastStackTrace", null);

      map.put("StatementCreateCount", null);
      map.put("StatementPrepareCount", null);
      map.put("StatementPreCallCount", null);
      map.put("StatementExecuteCount", null);
      map.put("StatementRunningCount", null);

      map.put("StatementConcurrentMax", null);
      map.put("StatementCloseCount", null);
      map.put("StatementErrorCount", null);
      map.put("StatementLastErrorTime", null);
      map.put("StatementLastErrorMessage", null);

      map.put("StatementLastErrorStackTrace", null);
      map.put("StatementExecuteMillisTotal", null);
      map.put("ConnectionConnectingCount", null);
      map.put("StatementExecuteLastTime", null);
      map.put("ResultSetCloseCount", null);

      map.put("ResultSetOpenCount", null);
      map.put("ResultSetOpenningCount", null);
      map.put("ResultSetOpenningMax", null);
      map.put("ResultSetFetchRowCount", null);
      map.put("ResultSetLastOpenTime", null);

      map.put("ResultSetErrorCount", null);
      map.put("ResultSetOpenningMillisTotal", null);
      map.put("ResultSetLastErrorTime", null);
      map.put("ResultSetLastErrorMessage", null);
      map.put("ResultSetLastErrorStackTrace", null);

      map.put("ConnectionConnectCount", null);
      map.put("ConnectionErrorLastMessage", null);
      map.put("ConnectionErrorLastStackTrace", null);
      map.put("ConnectionConnectMillisTotal", null);
      map.put("ConnectionConnectingCountMax", null);

      map.put("ConnectionConnectMillisMax", null);
      map.put("ConnectionErrorLastTime", null);
      map.put("ConnectionAliveMillisMax", null);
      map.put("ConnectionAliveMillisMin", null);

      map.put("ConnectionHistogram", new long[0]);
      map.put("StatementHistogram", new long[0]);
    }

    return new CompositeDataSupport(JdbcStatManager.getDataSourceCompositeType(), map);
  }
  protected void tearDown() throws Exception {
    dataSource.close();
    Assert.assertEquals(0, DruidDataSourceStatManager.getInstance().getDataSourceList().size());

    JdbcStatManager.getInstance().setStatContext(null);
  }
 protected void tearDown() throws Exception {
   DruidDriver.getProxyDataSources().clear();
   Assert.assertEquals(0, JdbcStatManager.getInstance().getSqlList().size());
 }
  protected void tearDown() throws Exception {
    JdbcUtils.close(dataSource);

    Assert.assertEquals(0, JdbcStatManager.getInstance().getSqlList().size());
  }