From 5518ffc457980f5f3252491006c99e95d04443c0 Mon Sep 17 00:00:00 2001 From: "junj2.liang" Date: Mon, 15 Aug 2022 16:33:46 +0800 Subject: [PATCH] =?UTF-8?q?check=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sunyard/sge/database/SydApi4Database.java | 4 ++++ .../sunyard/sge/database/pool/SydApiPool.java | 23 +++++++++++-------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/sunyard/sge/database/SydApi4Database.java b/src/main/java/com/sunyard/sge/database/SydApi4Database.java index 35f541c..a1b402f 100644 --- a/src/main/java/com/sunyard/sge/database/SydApi4Database.java +++ b/src/main/java/com/sunyard/sge/database/SydApi4Database.java @@ -30,6 +30,10 @@ public class SydApi4Database implements SydApi { this.hsms = hsms; } + public SydApi4j[] getHsms() { + return hsms; + } + @Override public SydApi SYD_Short_Connect_Ex(String[] pcIpList, int[] iPortList, int iConnectTimeOut, int allDealTimeOut) { Logger log = LogFactory.getLogger(); 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 92c7504..07ccd0a 100644 --- a/src/main/java/com/sunyard/sge/database/pool/SydApiPool.java +++ b/src/main/java/com/sunyard/sge/database/pool/SydApiPool.java @@ -55,19 +55,24 @@ public class SydApiPool extends ThreadBasedConnectPool { } // 保活接口 - protected boolean check(SydApi o) { - if ( null == o ) { + protected boolean check(SydApi4Database o) { + if (null==o) { return false; } - try { + SydApi4j[] hsms = o.getHsms(); + for (SydApi4j hsm : hsms) { + if ( null != hsm ) { + try { + o.SYD_SM3_Hash_ShortData( new byte[8] ); + return true; - o.SYD_SM3_Hash_ShortData( new byte[8] ); - return true; - - }catch ( Exception e) { - // 忽略 - return false; + }catch ( Exception e) { + // 忽略 + return false; + } + } } + return false; } // 释放