From 3a04861f17dc971c450c8bdb2450ea3ffbd7c618 Mon Sep 17 00:00:00 2001 From: linn <5linan@163.com> Date: Thu, 22 Aug 2019 16:53:56 +0800 Subject: [PATCH] =?UTF-8?q?bugfix=20ThreadLocalConnection=20=E5=A4=9A?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=BA=90=E6=83=85=E5=86=B5=E4=B8=8B=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E5=AD=98=E5=9C=A8=E8=BF=9E=E6=8E=A5=E6=9C=AA=E5=85=B3?= =?UTF-8?q?=E9=97=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/hutool/db/ThreadLocalConnection.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/hutool-db/src/main/java/cn/hutool/db/ThreadLocalConnection.java b/hutool-db/src/main/java/cn/hutool/db/ThreadLocalConnection.java index 19f7cab08..d1499b32a 100644 --- a/hutool-db/src/main/java/cn/hutool/db/ThreadLocalConnection.java +++ b/hutool-db/src/main/java/cn/hutool/db/ThreadLocalConnection.java @@ -46,7 +46,9 @@ public enum ThreadLocalConnection { GroupedConnection groupedConnection = threadLocal.get(); if (null != groupedConnection) { groupedConnection.close(ds); - threadLocal.remove(); + if(groupedConnection.removeAble()){ + threadLocal.remove(); + } } } @@ -97,5 +99,13 @@ public enum ThreadLocalConnection { } return this; } + + /** + * 多数据源情况情况下判断是否能从上下文中删除 + * @return + */ + public boolean removeAble(){ + return connMap.size()==0; + } } }