| | |
| | | * |
| | | * <p>连接复用一条并在查询失败时作废,避免厂商服务端重启后长期持有失效连接; |
| | | * 厂商库实测按固定 60 秒写库,取数频率远低于连接复用带来的收益门槛。 |
| | | * |
| | | * <p>{@link DataSource} 接口中与连接获取无关的 JDK 样板方法(日志写出器、登录超时、父日志器、 |
| | | * {@code unwrap} / {@code isWrapperFor})只转发驱动对象,不承载业务语义,因此不单独加方法注释。 |
| | | */ |
| | | public final class SingleConnectionVendorDataSource implements DataSource |
| | | { |
| | |
| | | this.credentials.setProperty("password", password == null ? "" : password); |
| | | } |
| | | |
| | | /** 返回复用的单条连接,必要时按登记凭据新建;厂商库只读,连接不做写事务。 */ |
| | | @Override |
| | | public synchronized Connection getConnection() throws SQLException |
| | | { |
| | |
| | | return connection; |
| | | } |
| | | |
| | | /** 按给定账号临时新建一条连接,不复用也不替换已缓存的那条。 */ |
| | | @Override |
| | | public Connection getConnection(String username, String password) throws SQLException |
| | | { |