From e3e065f36eb9cc5d55380649490516d2d0876304 Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Sat, 5 May 2018 13:23:42 +0800 Subject: [PATCH] --- src/org/redkale/source/DataSqlJdbcSource.java | 22 +++++++++---------- src/org/redkale/source/PoolJdbcSource.java | 2 +- src/org/redkale/source/PoolSource.java | 2 +- src/org/redkale/source/PoolTcpSource.java | 8 ++++++- 4 files changed, 20 insertions(+), 14 deletions(-) diff --git a/src/org/redkale/source/DataSqlJdbcSource.java b/src/org/redkale/source/DataSqlJdbcSource.java index bdfd4032f..6aada943f 100644 --- a/src/org/redkale/source/DataSqlJdbcSource.java +++ b/src/org/redkale/source/DataSqlJdbcSource.java @@ -143,7 +143,7 @@ public class DataSqlJdbcSource extends DataSqlSource { future.completeExceptionally(e); return future; } finally { - if (conn != null) writePool.closeConnection(conn); + if (conn != null) writePool.offerConnection(conn); } } @@ -191,7 +191,7 @@ public class DataSqlJdbcSource extends DataSqlSource { future.completeExceptionally(e); return future; } finally { - if (conn != null) writePool.closeConnection(conn); + if (conn != null) writePool.offerConnection(conn); } } @@ -256,7 +256,7 @@ public class DataSqlJdbcSource extends DataSqlSource { future.completeExceptionally(e); return future; } finally { - if (conn != null) writePool.closeConnection(conn); + if (conn != null) writePool.offerConnection(conn); } } @@ -289,7 +289,7 @@ public class DataSqlJdbcSource extends DataSqlSource { future.completeExceptionally(e); return future; } finally { - if (conn != null) writePool.closeConnection(conn); + if (conn != null) writePool.offerConnection(conn); } } @@ -321,7 +321,7 @@ public class DataSqlJdbcSource extends DataSqlSource { future.completeExceptionally(e); return future; } finally { - if (conn != null) readPool.closeConnection(conn); + if (conn != null) readPool.offerConnection(conn); } } @@ -346,7 +346,7 @@ public class DataSqlJdbcSource extends DataSqlSource { future.completeExceptionally(e); return future; } finally { - if (conn != null) readPool.closeConnection(conn); + if (conn != null) readPool.offerConnection(conn); } } @@ -372,7 +372,7 @@ public class DataSqlJdbcSource extends DataSqlSource { future.completeExceptionally(e); return future; } finally { - if (conn != null) readPool.closeConnection(conn); + if (conn != null) readPool.offerConnection(conn); } } @@ -395,7 +395,7 @@ public class DataSqlJdbcSource extends DataSqlSource { future.completeExceptionally(e); return future; } finally { - if (conn != null) readPool.closeConnection(conn); + if (conn != null) readPool.offerConnection(conn); } } @@ -427,7 +427,7 @@ public class DataSqlJdbcSource extends DataSqlSource { future.completeExceptionally(e); return future; } finally { - if (conn != null) readPool.closeConnection(conn); + if (conn != null) readPool.offerConnection(conn); } } @@ -450,7 +450,7 @@ public class DataSqlJdbcSource extends DataSqlSource { future.completeExceptionally(e); return future; } finally { - if (conn != null) readPool.closeConnection(conn); + if (conn != null) readPool.offerConnection(conn); } } @@ -496,7 +496,7 @@ public class DataSqlJdbcSource extends DataSqlSource { future.completeExceptionally(e); return future; } finally { - if (conn != null) readPool.closeConnection(conn); + if (conn != null) readPool.offerConnection(conn); } } } diff --git a/src/org/redkale/source/PoolJdbcSource.java b/src/org/redkale/source/PoolJdbcSource.java index ee86c5d3e..faf145acc 100644 --- a/src/org/redkale/source/PoolJdbcSource.java +++ b/src/org/redkale/source/PoolJdbcSource.java @@ -255,7 +255,7 @@ public class PoolJdbcSource extends PoolSource { } @Override - public void closeConnection(final Connection conn) { + public void offerConnection(final Connection conn) { if (conn == null) return; try { conn.close(); diff --git a/src/org/redkale/source/PoolSource.java b/src/org/redkale/source/PoolSource.java index 8dccfe342..a51280a8f 100644 --- a/src/org/redkale/source/PoolSource.java +++ b/src/org/redkale/source/PoolSource.java @@ -139,7 +139,7 @@ public abstract class PoolSource { public abstract CompletableFuture pollAsync(); - public abstract void closeConnection(final DBChannel conn); + public abstract void offerConnection(final DBChannel conn); public abstract void close(); diff --git a/src/org/redkale/source/PoolTcpSource.java b/src/org/redkale/source/PoolTcpSource.java index df0b3d2e4..ca29924c3 100644 --- a/src/org/redkale/source/PoolTcpSource.java +++ b/src/org/redkale/source/PoolTcpSource.java @@ -46,7 +46,7 @@ public abstract class PoolTcpSource extends PoolSource { } @Override - public void closeConnection(final AsyncConnection conn) { + public void offerConnection(final AsyncConnection conn) { if (conn == null) return; if (connQueue.offer(conn)) { saveCounter.incrementAndGet(); @@ -167,10 +167,16 @@ public abstract class PoolTcpSource extends PoolSource { @Override public void close() { connQueue.stream().forEach(x -> { + try { + sendCloseCommand(x); + } catch (Exception e) { + } try { x.close(); } catch (Exception e) { } }); } + + protected abstract void sendCloseCommand(final AsyncConnection conn); }