@Override public DataSourcePoolMetadata getDataSourcePoolMetadata(DataSource dataSource) { for (DataSourcePoolMetadataProvider provider : this.providers) { DataSourcePoolMetadata metadata = provider .getDataSourcePoolMetadata(dataSource); if (metadata != null) { return metadata; } } return null; }
@Override public Integer getActive() { return getDataSource().getNumActive(); }
@Override public Integer getMax() { return getDataSource().getMaxActive(); }
@Override public Integer getMin() { return getDataSource().getMinimumIdle(); }
public DataSourcePoolMetrics(DataSource dataSource, Collection<DataSourcePoolMetadataProvider> metadataProviders, String dataSourceName, Iterable<Tag> tags) { this(dataSource, new CompositeDataSourcePoolMetadataProvider(metadataProviders), dataSourceName, tags); }
@Override public Integer getActive() { try { return getHikariPool().getActiveConnections(); } catch (Exception ex) { return null; } }
@Override public DataSourcePoolMetadata getDataSourcePoolMetadata(DataSource dataSource) { DataSourcePoolMetadata metadata = cache.get(dataSource); if (metadata == null) { metadata = this.metadataProvider.getDataSourcePoolMetadata(dataSource); cache.put(dataSource, metadata); } return metadata; }
@Override public Integer getMax() { return getDataSource().getMaxTotal(); }
@Override public String getValidationQuery() { return getDataSource().getValidationQuery(); }
@Override public Integer getMax() { return getDataSource().getMaximumPoolSize(); }
@Override public Integer getMin() { return getDataSource().getMinIdle(); }
@Override public Boolean getDefaultAutoCommit() { return getDataSource().isDefaultAutoCommit(); }
@Override public String getValidationQuery() { return getDataSource().getConnectionTestQuery(); }
@Override public String getValidationQuery() { return getDataSource().getValidationQuery(); }
@Override public Integer getMin() { return getDataSource().getMinIdle(); }
@Override public Boolean getDefaultAutoCommit() { return getDataSource().isAutoCommit(); }
@Override public Boolean getDefaultAutoCommit() { return getDataSource().getDefaultAutoCommit(); }
@Override public Integer getActive() { ConnectionPool pool = getDataSource().getPool(); return (pool != null) ? pool.getActive() : 0; }
private HikariPool getHikariPool() { return (HikariPool) new DirectFieldAccessor(getDataSource()) .getPropertyValue("pool"); }