From 72f5f1008643ad99342e8b8a7e8d1f37b521d473 Mon Sep 17 00:00:00 2001 From: cheney Date: Thu, 4 Aug 2022 09:43:51 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/sunyard/sge/pool/PoolConfig.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/sunyard/sge/pool/PoolConfig.java b/src/main/java/com/sunyard/sge/pool/PoolConfig.java index d0725bd..d65dfc9 100644 --- a/src/main/java/com/sunyard/sge/pool/PoolConfig.java +++ b/src/main/java/com/sunyard/sge/pool/PoolConfig.java @@ -3,10 +3,10 @@ package com.sunyard.sge.pool; public class PoolConfig { // 最大空闲时间 - private long maxIdle = 5 * 3600 * 1000; // 5 分钟 + private long maxIdle = 5 * 60 * 1000; // 5 分钟 // 最大无用时间 - private long maxUseless = 30 * 3600 * 1000; // 30 分钟 + private long maxUseless = 30 * 60 * 1000; // 30 分钟 public long getMaxIdle() { return maxIdle; From dc7f4e67baa2e24f4d5a416e78df72951b4a8c7f Mon Sep 17 00:00:00 2001 From: cheney Date: Fri, 5 Aug 2022 18:40:19 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E9=87=8A=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/sunyard/sge/database/pool/SydApiPool.java | 3 ++- 说明.txt | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/sunyard/sge/database/pool/SydApiPool.java b/src/main/java/com/sunyard/sge/database/pool/SydApiPool.java index b2c1201..676e8f6 100644 --- a/src/main/java/com/sunyard/sge/database/pool/SydApiPool.java +++ b/src/main/java/com/sunyard/sge/database/pool/SydApiPool.java @@ -42,11 +42,12 @@ public class SydApiPool extends ThreadBasedConnectPool { // 保活接口 protected boolean check(SydApi o) { - return null != o; + null != o; } // 释放 protected void free(SydApi o) { + o.SYD_Disconnect_Ex(); } } diff --git a/说明.txt b/说明.txt index 3047bab..13eb7e6 100644 --- a/说明.txt +++ b/说明.txt @@ -5,7 +5,6 @@ - dependences 所有依赖 - groovy-all-2.3.2 通信协议支持 - proto-1.0-20220412 通信协议支持 - - slf4j-api-1.7.10 日志接口 - log4j-api-2.17.0.jar 日志接口 - log4j-core-2.17.0.jar 日志核心包 - log4j-slf4j-impl-2.17.0.jar 日志桥接 From c9726dcd5926828c6bb19ebfda69f54a7b8a835f Mon Sep 17 00:00:00 2001 From: cheney Date: Fri, 5 Aug 2022 18:47:20 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E6=B1=A0=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E5=90=88=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sunyard/sge/database/SydApi4Database.java | 21 ++++++++++++------- .../sunyard/sge/database/pool/SydApiPool.java | 17 +++++++++++++-- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/sunyard/sge/database/SydApi4Database.java b/src/main/java/com/sunyard/sge/database/SydApi4Database.java index f101abe..4094c80 100644 --- a/src/main/java/com/sunyard/sge/database/SydApi4Database.java +++ b/src/main/java/com/sunyard/sge/database/SydApi4Database.java @@ -13,9 +13,11 @@ import java.util.List; public class SydApi4Database implements SydApi { private SydApi4j[] hsms = null; + private boolean isShortLinkMode = false; @Deprecated public SydApi4Database() { + isShortLinkMode = true; } public SydApi4Database(SydApi4j[] hsms) { @@ -25,20 +27,23 @@ public class SydApi4Database implements SydApi { @Override public SydApi SYD_Connect_Ex(String[] pcIpList, int[] iPortList, int iConnectTimeOut, int iDealTimeOut) { SydApi4j api = (SydApi4j) new SydApi4j().connect(pcIpList[0], iPortList[0], null, iConnectTimeOut); - hsms = new SydApi4j[]{ api }; + hsms = new SydApi4j[]{api}; return this; } @Override public void SYD_Disconnect_Ex() { + if (isShortLinkMode) { + SydApi4j api = hsms[0]; + if (null != api) { + try { + api.disconnect(); + } catch (Exception e) { + } + } + api = null; + } // 配合链接池,不再需要释放。 -// if ( null != api ) { -// try { -// api.disconnect(); -// }catch ( Exception e ){ -// } -// } -// api = null; } @Override diff --git a/src/main/java/com/sunyard/sge/database/pool/SydApiPool.java b/src/main/java/com/sunyard/sge/database/pool/SydApiPool.java index 676e8f6..7239a2a 100644 --- a/src/main/java/com/sunyard/sge/database/pool/SydApiPool.java +++ b/src/main/java/com/sunyard/sge/database/pool/SydApiPool.java @@ -42,12 +42,25 @@ public class SydApiPool extends ThreadBasedConnectPool { // 保活接口 protected boolean check(SydApi o) { - null != o; + if ( null == o ) { + return false; + } + try { + + o.SYD_SM3_Hash_ShortData( new byte[8] ); + return true; + + }catch ( Exception e) { + // 忽略 + return false; + } } // 释放 protected void free(SydApi o) { - o.SYD_Disconnect_Ex(); + if ( null != o ) { + o.SYD_Disconnect_Ex(); + } } }