@Override public int clearSlowSqls() { synchronized (slowSqlLock){ slowSqlIndex = 0; return clearSqls(slowSqls); } }
@Override public void close() throws SQLException { ds.closeConnection(this); }
@Override protected void endExecuteStatement(StatementProxy stmt) { ds.onStatementEndExecute(this, stmt); }
@Override public Connection getConnection() throws SQLException { return openConnection(super.getConnection()); }
protected void notifyDataSourceCreated(String name, DataSource ds, boolean exportMBean) { if(ds instanceof MDataSourceProxy) { ((MDataSourceProxy) ds).setName(name); } if(exportMBean) { exportDataSourceMBean(name, ds); } for(DataSourceListener l : listeners){ l.onDataSourceCreated(name, ds); } }
@Managed public ActiveConnectionsModel getActiveConnections() { MConnection[] activeConnections = MDataSourceProxy.this.getActiveConnections(); ConnectionModel[] activeConnectionModels = new ConnectionModel[activeConnections.length]; for(int i=0;i<activeConnectionModels.length;i++) { activeConnectionModels[i] = new ConnectionModel(activeConnections[i]); } return new ActiveConnectionsModel(activeConnectionModels); }
public DataSource tryCreateDataSource(DataSourceProps conf) throws SQLException { DataSource ds = null; String name = conf.getDataSourceType(); if(!Strings.isEmpty(name)) { DataSourceFactory dsf = dataSourceFactories.get(name); if(null == dsf) { throw new IllegalStateException("DataSource Type '" + name + "' not found"); } ds = dsf.tryCreateDataSource(conf); }else if(null != defaultDataSourceFactory){ ds = defaultDataSourceFactory.tryCreateDataSource(conf); } if(null == ds && config.isDebug()){ ds = unpooledDataSourceFactory.tryCreateDataSource(conf); } if(null != ds) { validateDataSource(ds); } if(monitoring && null != ds && ! (ds instanceof MDataSourceProxy)) { ds = new MDataSourceProxy(ds, this); } return ds; }
@Override public Connection getConnection(String username, String password) throws SQLException { return openConnection(super.getConnection(username, password)); }
@Override public int clearVerySlowSqls() { synchronized (verySlowSqlLock){ verySlowSqlIndex = 0; return clearSqls(verySlowSqls); } }