将日志完整删除
This commit is contained in:
parent
45b300a8f4
commit
6e54421b93
12
pom.xml
12
pom.xml
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<groupId>com.sunyard.sge.database</groupId>
|
<groupId>com.sunyard.sge.database</groupId>
|
||||||
<artifactId>sydapi-database</artifactId>
|
<artifactId>sydapi-database</artifactId>
|
||||||
<version>1.0</version>
|
<version>1.1</version>
|
||||||
|
|
||||||
<name>sydapi-database</name>
|
<name>sydapi-database</name>
|
||||||
|
|
||||||
@ -31,16 +31,6 @@
|
|||||||
<version>1.0.20220902</version>
|
<version>1.0.20220902</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.logging.log4j</groupId>
|
|
||||||
<artifactId>log4j-api</artifactId>
|
|
||||||
<version>${log.version}</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.logging.log4j</groupId>
|
|
||||||
<artifactId>log4j-core</artifactId>
|
|
||||||
<version>${log.version}</version>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
|||||||
@ -1,9 +1,5 @@
|
|||||||
package com.sunyard.sge.database;
|
package com.sunyard.sge.database;
|
||||||
|
|
||||||
import com.sunyard.sge.log.LogFactory;
|
|
||||||
import org.apache.logging.log4j.Logger;
|
|
||||||
import racal.sunyard.main.SydApi4j;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -17,7 +13,7 @@ public interface SydApi {
|
|||||||
* @param pcLogPath: 输入。日志存储路径
|
* @param pcLogPath: 输入。日志存储路径
|
||||||
* @param iLogLevel: 输入。日志级别设置
|
* @param iLogLevel: 输入。日志级别设置
|
||||||
* 0:不记录日志,
|
* 0:不记录日志,
|
||||||
* 1:记录网络层错误日志,
|
* @deprecated 1:记录网络层错误日志,
|
||||||
* 2:记录接口错误日志及网络层错误日志,
|
* 2:记录接口错误日志及网络层错误日志,
|
||||||
* 3:记录正确日志及错误日志
|
* 3:记录正确日志及错误日志
|
||||||
* @return 无
|
* @return 无
|
||||||
@ -28,8 +24,6 @@ public interface SydApi {
|
|||||||
if (pcLogPath == null || iLogLevel < 0 || iLogLevel > 3) {
|
if (pcLogPath == null || iLogLevel < 0 || iLogLevel > 3) {
|
||||||
throw new IllegalArgumentException("地址不能为空且等级范围为0到3");
|
throw new IllegalArgumentException("地址不能为空且等级范围为0到3");
|
||||||
}
|
}
|
||||||
Logger logger = LogFactory.createLogger(pcLogPath, iLogLevel);
|
|
||||||
SydApi4j.setLogger(logger);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -3,7 +3,6 @@ package com.sunyard.sge.database;
|
|||||||
import com.sunyard.SydApiException;
|
import com.sunyard.SydApiException;
|
||||||
import com.sunyard.proto.Util;
|
import com.sunyard.proto.Util;
|
||||||
import com.sunyard.sge.database.pool.HsmLinkInfo;
|
import com.sunyard.sge.database.pool.HsmLinkInfo;
|
||||||
import com.sunyard.sge.log.LogFactory;
|
|
||||||
import com.sunyard.sge.pool.ObjectInPool;
|
import com.sunyard.sge.pool.ObjectInPool;
|
||||||
import com.sunyard.util.SYMUtil;
|
import com.sunyard.util.SYMUtil;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
@ -17,9 +16,6 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public class SydApi4Database implements SydApi {
|
public class SydApi4Database implements SydApi {
|
||||||
|
|
||||||
static {
|
|
||||||
SydApi.SYD_SetLogConfig("./logs/", 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
private SydApi4j[] hsms = null;
|
private SydApi4j[] hsms = null;
|
||||||
private HsmLinkInfo[] linkInfos = null;
|
private HsmLinkInfo[] linkInfos = null;
|
||||||
@ -56,11 +52,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SydApi SYD_Short_Connect_Ex(String[] pcIpList, int[] iPortList, int iConnectTimeOut, int allDealTimeOut) {
|
public SydApi SYD_Short_Connect_Ex(String[] pcIpList, int[] iPortList, int iConnectTimeOut, int allDealTimeOut) {
|
||||||
Logger log = LogFactory.getLogger();
|
|
||||||
if (LogFactory.iLogLevel == 3) {
|
|
||||||
log.debug("SYD_Connect_Ex方法接收参数:pcIpList:{},iPortList:{},iConnectTimeOut:{},iDealTimeOut:{}", Arrays.toString(pcIpList), Arrays.toString(iPortList), iConnectTimeOut, allDealTimeOut);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pcIpList.length != iPortList.length) {
|
if (pcIpList.length != iPortList.length) {
|
||||||
throw new IllegalArgumentException("ip与端口数量不一致");
|
throw new IllegalArgumentException("ip与端口数量不一致");
|
||||||
}
|
}
|
||||||
@ -75,7 +66,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
connected = true;
|
connected = true;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// 忽略错误
|
// 忽略错误
|
||||||
log.error("网络连接错误 {} {} - 忽略", pcIpList[i], iPortList[i]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -123,10 +113,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String SYD_SM3_Hash_ShortData(byte[] pcData) {
|
public String SYD_SM3_Hash_ShortData(byte[] pcData) {
|
||||||
Logger log = LogFactory.getLogger();
|
|
||||||
if (LogFactory.iLogLevel == 3) {
|
|
||||||
log.debug("SYD_SM3_Hash_ShortData方法接收参数:pcData:{}", Arrays.toString(pcData));
|
|
||||||
}
|
|
||||||
if (null == this.hsms || this.hsms.length < 1) {
|
if (null == this.hsms || this.hsms.length < 1) {
|
||||||
throw new SydApiException(-1);
|
throw new SydApiException(-1);
|
||||||
}
|
}
|
||||||
@ -142,12 +128,10 @@ public class SydApi4Database implements SydApi {
|
|||||||
if (isShortLinkMode) {
|
if (isShortLinkMode) {
|
||||||
try {
|
try {
|
||||||
byte[] hash = api.SYD_SM3_LongData(pcData, null, 0);
|
byte[] hash = api.SYD_SM3_LongData(pcData, null, 0);
|
||||||
log.debug("api.SYD_SM3_LongData方法返回值:{}", Arrays.toString(hash));
|
|
||||||
return Util.bytes2HexString(hash);
|
return Util.bytes2HexString(hash);
|
||||||
} catch (SydApiException e) {
|
} catch (SydApiException e) {
|
||||||
le = e;
|
le = e;
|
||||||
if (e.getRetCode() < 0) {
|
if (e.getRetCode() < 0) {
|
||||||
log.error("HA 重试");
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
@ -156,12 +140,10 @@ public class SydApi4Database implements SydApi {
|
|||||||
synchronized (api) {
|
synchronized (api) {
|
||||||
try {
|
try {
|
||||||
byte[] hash = api.SYD_SM3_LongData(pcData, null, 0);
|
byte[] hash = api.SYD_SM3_LongData(pcData, null, 0);
|
||||||
log.debug("api.SYD_SM3_LongData方法返回值:{}", Arrays.toString(hash));
|
|
||||||
return Util.bytes2HexString(hash);
|
return Util.bytes2HexString(hash);
|
||||||
} catch (SydApiException e) {
|
} catch (SydApiException e) {
|
||||||
le = e;
|
le = e;
|
||||||
if (e.getRetCode() < 0) {
|
if (e.getRetCode() < 0) {
|
||||||
log.error("HA 重试");
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
@ -174,10 +156,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public LongDataReturn<String, String> SYD_SM3_Hash_LongData(byte[] pcData, int iPkgNum, String pcProcData) {
|
public LongDataReturn<String, String> SYD_SM3_Hash_LongData(byte[] pcData, int iPkgNum, String pcProcData) {
|
||||||
Logger log = LogFactory.getLogger();
|
|
||||||
if (LogFactory.iLogLevel == 3) {
|
|
||||||
log.debug("SYD_SM3_Hash_LongData方法接收参数:pcData:{},iPkgNum:{},pcProcData:{}", Arrays.toString(pcData), iPkgNum, pcProcData);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (null == this.hsms || this.hsms.length < 1) {
|
if (null == this.hsms || this.hsms.length < 1) {
|
||||||
throw new SydApiException(-1);
|
throw new SydApiException(-1);
|
||||||
@ -185,7 +163,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
byte[] procData = null;
|
byte[] procData = null;
|
||||||
if (2 == iPkgNum || 3 == iPkgNum) {
|
if (2 == iPkgNum || 3 == iPkgNum) {
|
||||||
procData = Util.hexString2Bytes(pcProcData);
|
procData = Util.hexString2Bytes(pcProcData);
|
||||||
log.debug("Util.hexString2Bytes方法返回值:{}", Arrays.toString(procData));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -198,7 +175,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
if (isShortLinkMode) {
|
if (isShortLinkMode) {
|
||||||
try {
|
try {
|
||||||
byte[] hash = api.SYD_SM3_LongData(pcData, procData, iPkgNum);
|
byte[] hash = api.SYD_SM3_LongData(pcData, procData, iPkgNum);
|
||||||
log.debug("api.SYD_SM3_LongData方法返回值:{}", Arrays.toString(hash));
|
|
||||||
if (0 == iPkgNum || 3 == iPkgNum) {
|
if (0 == iPkgNum || 3 == iPkgNum) {
|
||||||
return new LongDataReturn<String, String>(null, Util.bytes2HexString(hash));
|
return new LongDataReturn<String, String>(null, Util.bytes2HexString(hash));
|
||||||
} else {
|
} else {
|
||||||
@ -207,7 +183,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
} catch (SydApiException e) {
|
} catch (SydApiException e) {
|
||||||
le = e;
|
le = e;
|
||||||
if (e.getRetCode() < 0) {
|
if (e.getRetCode() < 0) {
|
||||||
log.error("HA 重试");
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
@ -216,7 +191,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
synchronized (api) {
|
synchronized (api) {
|
||||||
try {
|
try {
|
||||||
byte[] hash = api.SYD_SM3_LongData(pcData, procData, iPkgNum);
|
byte[] hash = api.SYD_SM3_LongData(pcData, procData, iPkgNum);
|
||||||
log.debug("api.SYD_SM3_LongData方法返回值:{}", Arrays.toString(hash));
|
|
||||||
if (0 == iPkgNum || 3 == iPkgNum) {
|
if (0 == iPkgNum || 3 == iPkgNum) {
|
||||||
return new LongDataReturn<String, String>(null, Util.bytes2HexString(hash));
|
return new LongDataReturn<String, String>(null, Util.bytes2HexString(hash));
|
||||||
} else {
|
} else {
|
||||||
@ -225,7 +199,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
} catch (SydApiException e) {
|
} catch (SydApiException e) {
|
||||||
le = e;
|
le = e;
|
||||||
if (e.getRetCode() < 0) {
|
if (e.getRetCode() < 0) {
|
||||||
log.error("HA 重试");
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
@ -239,10 +212,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public byte[] SYD_SM4_ShortData(int iKeyIndex, byte[] pcData, int iFlag) {
|
public byte[] SYD_SM4_ShortData(int iKeyIndex, byte[] pcData, int iFlag) {
|
||||||
Logger log = LogFactory.getLogger();
|
|
||||||
if (LogFactory.iLogLevel == 3) {
|
|
||||||
log.debug("SYD_SM4_ShortData方法接收参数:iKeyIndex:{},pcData:{},iFlag:{}", iKeyIndex, Arrays.toString(pcData), iFlag);
|
|
||||||
}
|
|
||||||
if (iFlag == Consts.ECB_DEC && null == pcData || pcData.length == 0) {
|
if (iFlag == Consts.ECB_DEC && null == pcData || pcData.length == 0) {
|
||||||
throw new SydApiException(19);
|
throw new SydApiException(19);
|
||||||
}
|
}
|
||||||
@ -275,7 +244,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
} catch (SydApiException e) {
|
} catch (SydApiException e) {
|
||||||
le = e;
|
le = e;
|
||||||
if (e.getRetCode() < 0) {
|
if (e.getRetCode() < 0) {
|
||||||
log.error("HA 重试");
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
@ -299,7 +267,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
} catch (SydApiException e) {
|
} catch (SydApiException e) {
|
||||||
le = e;
|
le = e;
|
||||||
if (e.getRetCode() < 0) {
|
if (e.getRetCode() < 0) {
|
||||||
log.error("HA 重试");
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
@ -312,10 +279,7 @@ public class SydApi4Database implements SydApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<byte[]> SYD_SM4_BatchData(int[] iKeyIndex, List<byte[]> pcData, int iFlag) {
|
public List<byte[]> SYD_SM4_BatchData(int[] iKeyIndex, List<byte[]> pcData, int iFlag) {
|
||||||
Logger log = LogFactory.getLogger();
|
|
||||||
if (LogFactory.iLogLevel == 3) {
|
|
||||||
log.debug("SYD_SM4_BatchData方法接收参数:iKeyIndex:{},pcData元素个数为:{},iFlag:{}", iKeyIndex, pcData.size(), iFlag);
|
|
||||||
}
|
|
||||||
if (iFlag == Consts.ECB_DEC) {
|
if (iFlag == Consts.ECB_DEC) {
|
||||||
for (byte[] pcdata : pcData) {
|
for (byte[] pcdata : pcData) {
|
||||||
if (null == pcData || pcdata.length == 0) {
|
if (null == pcData || pcdata.length == 0) {
|
||||||
@ -349,7 +313,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
} catch (SydApiException e) {
|
} catch (SydApiException e) {
|
||||||
le = e;
|
le = e;
|
||||||
if (e.getRetCode() < 0) {
|
if (e.getRetCode() < 0) {
|
||||||
log.error("HA 重试");
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
@ -366,7 +329,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
} catch (SydApiException e) {
|
} catch (SydApiException e) {
|
||||||
le = e;
|
le = e;
|
||||||
if (e.getRetCode() < 0) {
|
if (e.getRetCode() < 0) {
|
||||||
log.error("HA 重试");
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
@ -379,10 +341,7 @@ public class SydApi4Database implements SydApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public byte[] SYD_SM4_LongData(int iKeyIndex, byte[] pcData, int iPkgNum, int iFlag) {
|
public byte[] SYD_SM4_LongData(int iKeyIndex, byte[] pcData, int iPkgNum, int iFlag) {
|
||||||
Logger log = LogFactory.getLogger();
|
|
||||||
if (LogFactory.iLogLevel == 3) {
|
|
||||||
log.debug("SYD_SM4_LongData方法接收参数:iKeyIndex:{},pcData:{},iPkgNum:{},iFlag:{}", iKeyIndex, Arrays.toString(pcData), iPkgNum, iFlag);
|
|
||||||
}
|
|
||||||
if (iFlag == Consts.ECB_DEC && (null == pcData || pcData.length == 0)) {
|
if (iFlag == Consts.ECB_DEC && (null == pcData || pcData.length == 0)) {
|
||||||
throw new SydApiException(19);
|
throw new SydApiException(19);
|
||||||
}
|
}
|
||||||
@ -418,7 +377,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
} catch (SydApiException e) {
|
} catch (SydApiException e) {
|
||||||
le = e;
|
le = e;
|
||||||
if (e.getRetCode() < 0) {
|
if (e.getRetCode() < 0) {
|
||||||
log.error("HA 重试");
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
@ -448,7 +406,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
}
|
}
|
||||||
le = e;
|
le = e;
|
||||||
if (e.getRetCode() < 0) {
|
if (e.getRetCode() < 0) {
|
||||||
log.error("HA 重试");
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
@ -462,10 +419,7 @@ public class SydApi4Database implements SydApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] SYD_SM4Mac_BatchData(int[] iKeyIndex, List<byte[]> pcData) {
|
public String[] SYD_SM4Mac_BatchData(int[] iKeyIndex, List<byte[]> pcData) {
|
||||||
Logger log = LogFactory.getLogger();
|
|
||||||
if (LogFactory.iLogLevel == 3) {
|
|
||||||
log.debug("SYD_SM4Mac_BatchData:iKeyIndex:{},pcData元素个数为:{}", iKeyIndex, pcData.size());
|
|
||||||
}
|
|
||||||
if (null == this.hsms || this.hsms.length < 1) {
|
if (null == this.hsms || this.hsms.length < 1) {
|
||||||
throw new SydApiException(-1);
|
throw new SydApiException(-1);
|
||||||
}
|
}
|
||||||
@ -495,7 +449,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
} catch (SydApiException e) {
|
} catch (SydApiException e) {
|
||||||
le = e;
|
le = e;
|
||||||
if (e.getRetCode() < 0) {
|
if (e.getRetCode() < 0) {
|
||||||
log.error("HA 重试");
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
@ -516,7 +469,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
} catch (SydApiException e) {
|
} catch (SydApiException e) {
|
||||||
le = e;
|
le = e;
|
||||||
if (e.getRetCode() < 0) {
|
if (e.getRetCode() < 0) {
|
||||||
log.error("HA 重试");
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
@ -529,10 +481,7 @@ public class SydApi4Database implements SydApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean[] SYD_SM4Mac_BatchData(int[] iKeyIndex, List<byte[]> pcData, String[] pcMac) {
|
public boolean[] SYD_SM4Mac_BatchData(int[] iKeyIndex, List<byte[]> pcData, String[] pcMac) {
|
||||||
Logger log = LogFactory.getLogger();
|
|
||||||
if (LogFactory.iLogLevel == 3) {
|
|
||||||
log.debug("SYD_SM4Mac_BatchData方法接收参数:iKeyIndex:{},pcData元素个数为:{},pcMac:{}", iKeyIndex, pcData.size(), Arrays.toString(pcMac));
|
|
||||||
}
|
|
||||||
if (null == this.hsms || this.hsms.length < 1) {
|
if (null == this.hsms || this.hsms.length < 1) {
|
||||||
throw new SydApiException(-1);
|
throw new SydApiException(-1);
|
||||||
}
|
}
|
||||||
@ -563,7 +512,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
} catch (SydApiException e) {
|
} catch (SydApiException e) {
|
||||||
le = e;
|
le = e;
|
||||||
if (e.getRetCode() < 0) {
|
if (e.getRetCode() < 0) {
|
||||||
log.error("HA 重试");
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
@ -584,7 +532,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
} catch (SydApiException e) {
|
} catch (SydApiException e) {
|
||||||
le = e;
|
le = e;
|
||||||
if (e.getRetCode() < 0) {
|
if (e.getRetCode() < 0) {
|
||||||
log.error("HA 重试");
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
@ -597,10 +544,7 @@ public class SydApi4Database implements SydApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public LongDataReturn<String, String> SYD_SM4Mac_LongData(int iKeyIndex, byte[] pcData, int iPkgNum, String pcProcData) {
|
public LongDataReturn<String, String> SYD_SM4Mac_LongData(int iKeyIndex, byte[] pcData, int iPkgNum, String pcProcData) {
|
||||||
Logger log = LogFactory.getLogger();
|
|
||||||
if (LogFactory.iLogLevel == 3) {
|
|
||||||
log.debug("SYD_SM4Mac_LongData方法接收参数:iKeyIndex:{},pcData:{},iPkgNum:{},pcProcData:{}", iKeyIndex, Arrays.toString(pcData), iPkgNum, pcProcData);
|
|
||||||
}
|
|
||||||
if (null == this.hsms || this.hsms.length < 1) {
|
if (null == this.hsms || this.hsms.length < 1) {
|
||||||
throw new SydApiException(-1);
|
throw new SydApiException(-1);
|
||||||
}
|
}
|
||||||
@ -642,7 +586,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
} catch (SydApiException e) {
|
} catch (SydApiException e) {
|
||||||
le = e;
|
le = e;
|
||||||
if (e.getRetCode() < 0) {
|
if (e.getRetCode() < 0) {
|
||||||
log.error("HA 重试");
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
@ -671,7 +614,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
} catch (SydApiException e) {
|
} catch (SydApiException e) {
|
||||||
le = e;
|
le = e;
|
||||||
if (e.getRetCode() < 0) {
|
if (e.getRetCode() < 0) {
|
||||||
log.error("HA 重试");
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
@ -684,10 +626,7 @@ public class SydApi4Database implements SydApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public LongDataReturn<String, Boolean> SYD_SM4Mac_LongData(int iKeyIndex, byte[] pcData, int iPkgNum, String pcProcData, String pcMac) {
|
public LongDataReturn<String, Boolean> SYD_SM4Mac_LongData(int iKeyIndex, byte[] pcData, int iPkgNum, String pcProcData, String pcMac) {
|
||||||
Logger log = LogFactory.getLogger();
|
|
||||||
if (LogFactory.iLogLevel == 3) {
|
|
||||||
log.debug("SYD_SM4Mac_LongData方法接收参数:iKeyIndex:{},pcData:{},iPkgNum:{},pcProcData:{}", iKeyIndex, Arrays.toString(pcData), iPkgNum, pcProcData, pcMac);
|
|
||||||
}
|
|
||||||
updateLastUseTime();
|
updateLastUseTime();
|
||||||
LongDataReturn<String, String> ret = SYD_SM4Mac_LongData(iKeyIndex, pcData, iPkgNum, pcProcData);
|
LongDataReturn<String, String> ret = SYD_SM4Mac_LongData(iKeyIndex, pcData, iPkgNum, pcProcData);
|
||||||
|
|
||||||
@ -702,15 +641,11 @@ public class SydApi4Database implements SydApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String SYD_SM4Mac_ShortData(int iKeyIndex, byte[] pcData) {
|
public String SYD_SM4Mac_ShortData(int iKeyIndex, byte[] pcData) {
|
||||||
Logger log = LogFactory.getLogger();
|
|
||||||
if (LogFactory.iLogLevel == 3) {
|
|
||||||
log.debug("SYD_SM4Mac_ShortData方法接收参数:iKeyIndex:{},pcData:{},iFlag:{}", iKeyIndex, Arrays.toString(pcData));
|
|
||||||
}
|
|
||||||
if (null == this.hsms || this.hsms.length < 1) {
|
if (null == this.hsms || this.hsms.length < 1) {
|
||||||
throw new SydApiException(-1);
|
throw new SydApiException(-1);
|
||||||
}
|
}
|
||||||
String keyIndex = "SK" + SYMUtil.genPrivateKeyMark("000000", "00A", String.format("%08d", iKeyIndex));
|
String keyIndex = "SK" + SYMUtil.genPrivateKeyMark("000000", "00A", String.format("%08d", iKeyIndex));
|
||||||
log.debug("\"SK\" + SYMUtil.genPrivateKeyMark方法返回值:{}", keyIndex);
|
|
||||||
|
|
||||||
SydApiException le = new SydApiException(-1);
|
SydApiException le = new SydApiException(-1);
|
||||||
updateLastUseTime();
|
updateLastUseTime();
|
||||||
@ -726,7 +661,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
} catch (SydApiException e) {
|
} catch (SydApiException e) {
|
||||||
le = e;
|
le = e;
|
||||||
if (e.getRetCode() < 0) {
|
if (e.getRetCode() < 0) {
|
||||||
log.error("HA 重试");
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
@ -741,7 +675,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
} catch (SydApiException e) {
|
} catch (SydApiException e) {
|
||||||
le = e;
|
le = e;
|
||||||
if (e.getRetCode() < 0) {
|
if (e.getRetCode() < 0) {
|
||||||
log.error("HA 重试");
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
@ -754,10 +687,7 @@ public class SydApi4Database implements SydApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean SYD_SM4Mac_ShortData(int iKeyIndex, byte[] pcData, String pcMac) {
|
public boolean SYD_SM4Mac_ShortData(int iKeyIndex, byte[] pcData, String pcMac) {
|
||||||
Logger log = LogFactory.getLogger();
|
|
||||||
if (LogFactory.iLogLevel == 3) {
|
|
||||||
log.debug("SYD_SM4Mac_ShortData方法接收参数:{}", iKeyIndex, Arrays.toString(pcData), pcMac);
|
|
||||||
}
|
|
||||||
if (null == this.hsms || this.hsms.length < 1) {
|
if (null == this.hsms || this.hsms.length < 1) {
|
||||||
throw new SydApiException(-1);
|
throw new SydApiException(-1);
|
||||||
}
|
}
|
||||||
@ -767,7 +697,6 @@ public class SydApi4Database implements SydApi {
|
|||||||
}
|
}
|
||||||
updateLastUseTime();
|
updateLastUseTime();
|
||||||
String mac = this.SYD_SM4Mac_ShortData(iKeyIndex, pcData);
|
String mac = this.SYD_SM4Mac_ShortData(iKeyIndex, pcData);
|
||||||
log.debug(this + ".SYD_SM4Mac_ShortData方法返回值:{}", mac);
|
|
||||||
return pcMac.equals(mac);
|
return pcMac.equals(mac);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,6 @@ package com.sunyard.sge.database;
|
|||||||
|
|
||||||
import com.sunyard.sge.database.pool.HsmLinkInfo;
|
import com.sunyard.sge.database.pool.HsmLinkInfo;
|
||||||
import com.sunyard.sge.database.pool.SydApiPool;
|
import com.sunyard.sge.database.pool.SydApiPool;
|
||||||
import com.sunyard.sge.log.LogFactory;
|
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -18,9 +17,6 @@ public class SydApiBuilder {
|
|||||||
int iConnectTimeOut,
|
int iConnectTimeOut,
|
||||||
int iDealTimeOut
|
int iDealTimeOut
|
||||||
) {
|
) {
|
||||||
Logger log = LogFactory.getLogger();
|
|
||||||
log.debug("创建链接");
|
|
||||||
log.debug("SydApiBuilder构造方法接收参数:pcIpList:{},iPortList:{},iConnectTimeOut:{},iDealTimeOut:{}", Arrays.toString(pcIpList),Arrays.toString(iPortList),iConnectTimeOut,iDealTimeOut);
|
|
||||||
HsmLinkInfo[] linkInfo = HsmLinkInfo.mutiHsmLinkInfo(pcIpList, iPortList, iConnectTimeOut, iDealTimeOut);
|
HsmLinkInfo[] linkInfo = HsmLinkInfo.mutiHsmLinkInfo(pcIpList, iPortList, iConnectTimeOut, iDealTimeOut);
|
||||||
this.pool = new SydApiPool(linkInfo);
|
this.pool = new SydApiPool(linkInfo);
|
||||||
warmUp( pcIpList, iPortList, iConnectTimeOut, iDealTimeOut );
|
warmUp( pcIpList, iPortList, iConnectTimeOut, iDealTimeOut );
|
||||||
|
|||||||
@ -2,7 +2,6 @@ package com.sunyard.sge.database.pool;
|
|||||||
|
|
||||||
|
|
||||||
import com.sunyard.sge.database.SydApi;
|
import com.sunyard.sge.database.SydApi;
|
||||||
import com.sunyard.sge.log.LogFactory;
|
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -12,10 +11,6 @@ import java.util.Arrays;
|
|||||||
* 到加密机的链接信息
|
* 到加密机的链接信息
|
||||||
*/
|
*/
|
||||||
public class HsmLinkInfo {
|
public class HsmLinkInfo {
|
||||||
static {
|
|
||||||
SydApi.SYD_SetLogConfig("./logs/", 0);
|
|
||||||
}
|
|
||||||
static Logger log = LogFactory.getLogger();
|
|
||||||
private String pcIp;
|
private String pcIp;
|
||||||
private int iPort;
|
private int iPort;
|
||||||
private int iConnectTimeOut;
|
private int iConnectTimeOut;
|
||||||
@ -31,20 +26,15 @@ public class HsmLinkInfo {
|
|||||||
|
|
||||||
public static HsmLinkInfo[] mutiHsmLinkInfo(String[] pcIpList, int[] iPortList, int iConnectTimeOut, int iAllDealTimeOut) {
|
public static HsmLinkInfo[] mutiHsmLinkInfo(String[] pcIpList, int[] iPortList, int iConnectTimeOut, int iAllDealTimeOut) {
|
||||||
|
|
||||||
log.debug("mutiHsmLinkInfo方法接收参数:pcIpList:{},iPortList:{},iConnectTimeOut:{},iDealTimeOut:{}", Arrays.toString(pcIpList),Arrays.toString(iPortList),iConnectTimeOut,iAllDealTimeOut);
|
|
||||||
log.debug("链接参数整理");
|
|
||||||
if (null == pcIpList ||
|
if (null == pcIpList ||
|
||||||
null == iPortList
|
null == iPortList
|
||||||
) {
|
) {
|
||||||
log.error("ip 和 port 为空");
|
|
||||||
throw new IllegalArgumentException("入参错误");
|
throw new IllegalArgumentException("入参错误");
|
||||||
}
|
}
|
||||||
if ( pcIpList.length != iPortList.length){
|
if ( pcIpList.length != iPortList.length){
|
||||||
log.error("加密机配置 ip 和 port 数量错误");
|
|
||||||
throw new IllegalArgumentException("入参错误");
|
throw new IllegalArgumentException("入参错误");
|
||||||
}
|
}
|
||||||
if ( iAllDealTimeOut < pcIpList.length) {
|
if ( iAllDealTimeOut < pcIpList.length) {
|
||||||
log.error("加密机配置交易时间过短");
|
|
||||||
throw new IllegalArgumentException("入参错误");
|
throw new IllegalArgumentException("入参错误");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -3,16 +3,12 @@ package com.sunyard.sge.database.pool;
|
|||||||
import com.sunyard.SydApiException;
|
import com.sunyard.SydApiException;
|
||||||
import com.sunyard.sge.database.SydApi;
|
import com.sunyard.sge.database.SydApi;
|
||||||
import com.sunyard.sge.database.SydApi4Database;
|
import com.sunyard.sge.database.SydApi4Database;
|
||||||
import com.sunyard.sge.log.LogFactory;
|
|
||||||
import com.sunyard.sge.pool.ObjectInPool;
|
import com.sunyard.sge.pool.ObjectInPool;
|
||||||
import com.sunyard.sge.pool.ThreadBasedConnectPool;
|
import com.sunyard.sge.pool.ThreadBasedConnectPool;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import racal.sunyard.main.SydApi4j;
|
import racal.sunyard.main.SydApi4j;
|
||||||
|
|
||||||
public class SydApiPool extends ThreadBasedConnectPool<SydApi> {
|
public class SydApiPool extends ThreadBasedConnectPool<SydApi> {
|
||||||
static {
|
|
||||||
SydApi.SYD_SetLogConfig("./logs/", 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
private HsmLinkInfo[] linkInfos;
|
private HsmLinkInfo[] linkInfos;
|
||||||
|
|
||||||
@ -40,9 +36,7 @@ public class SydApiPool extends ThreadBasedConnectPool<SydApi> {
|
|||||||
);
|
);
|
||||||
connected = true;
|
connected = true;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Logger log = LogFactory.getLogger();
|
|
||||||
// 忽略单个错误
|
// 忽略单个错误
|
||||||
log.error("网络连接错误 {} {} - 忽略", info.getPcIp(), info.getiPort());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,112 +0,0 @@
|
|||||||
package com.sunyard.sge.log;
|
|
||||||
|
|
||||||
import com.sunyard.sge.database.Consts;
|
|
||||||
import org.apache.logging.log4j.Level;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
|
||||||
import org.apache.logging.log4j.core.Appender;
|
|
||||||
import org.apache.logging.log4j.core.Layout;
|
|
||||||
import org.apache.logging.log4j.core.LoggerContext;
|
|
||||||
import org.apache.logging.log4j.core.appender.FileAppender;
|
|
||||||
import org.apache.logging.log4j.core.appender.rolling.SizeBasedTriggeringPolicy;
|
|
||||||
import org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy;
|
|
||||||
import org.apache.logging.log4j.core.config.AppenderRef;
|
|
||||||
import org.apache.logging.log4j.core.config.Configuration;
|
|
||||||
import org.apache.logging.log4j.core.config.LoggerConfig;
|
|
||||||
import org.apache.logging.log4j.core.layout.PatternLayout;
|
|
||||||
import org.apache.logging.log4j.Logger;
|
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 金交所定制日志
|
|
||||||
*/
|
|
||||||
public class LogFactory {
|
|
||||||
|
|
||||||
// 金交所定制日志
|
|
||||||
public static final String logName = "sge-hsm-sydapi-log";
|
|
||||||
|
|
||||||
// 日志级别
|
|
||||||
public static int iLogLevel = Consts.LogLevelOFF;
|
|
||||||
|
|
||||||
// Levels
|
|
||||||
private static final Level[] levels = new Level[]{ Level.OFF, Level.ERROR, Level.INFO, Level.DEBUG };
|
|
||||||
|
|
||||||
// 日志目录
|
|
||||||
private static String pcLogPath = "./sydapi-logs/";
|
|
||||||
|
|
||||||
// // 日期格式
|
|
||||||
// private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
||||||
|
|
||||||
private LogFactory() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void start() {
|
|
||||||
// 上下文
|
|
||||||
final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
|
|
||||||
final Configuration config = ctx.getConfiguration();
|
|
||||||
|
|
||||||
// 创建一个展示的样式
|
|
||||||
Layout layout = PatternLayout.createLayout(
|
|
||||||
"[%level{DEBUG=3, INFO=2, ERROR=1, OFF=0}: %d{ISO8601} <%thread>] %message%n%throwable",
|
|
||||||
null,
|
|
||||||
config, null, null, true, false, null, null);
|
|
||||||
|
|
||||||
|
|
||||||
TriggeringPolicy tp = SizeBasedTriggeringPolicy.createPolicy("10MB");
|
|
||||||
|
|
||||||
// Appender appender = RollingFileAppender.createAppender(String.format("logs/test/syncshows-job-%s.log", jobID),
|
|
||||||
// "/logs/test/" + jobID + "/syncshows-job-" + jobID + ".log.gz",
|
|
||||||
// "true", jobID, null, null, null, tp, null, layout, null,
|
|
||||||
// null, null, null, config);
|
|
||||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
||||||
// 日志打印方式——输出为文件
|
|
||||||
Appender appender = FileAppender.createAppender(
|
|
||||||
String.format( pcLogPath +"sydapi_"+ format.format(new Date()) + ".log"),
|
|
||||||
"true", "false",
|
|
||||||
logName, null, "true", "true", null, layout, null, null, null, config);
|
|
||||||
|
|
||||||
appender.start();
|
|
||||||
config.addAppender(appender);
|
|
||||||
AppenderRef ref = AppenderRef.createAppenderRef( logName, levels[ iLogLevel ], null);
|
|
||||||
AppenderRef[] refs = new AppenderRef[]{ref};
|
|
||||||
LoggerConfig loggerConfig = LoggerConfig.createLogger("false", levels[ iLogLevel ], logName,
|
|
||||||
"true", refs, null, config, null);
|
|
||||||
loggerConfig.addAppender(appender, levels[ iLogLevel ], null);
|
|
||||||
config.addLogger( logName, loggerConfig);
|
|
||||||
ctx.updateLoggers();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static void stop() {
|
|
||||||
final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
|
|
||||||
final Configuration config = ctx.getConfiguration();
|
|
||||||
config.getAppender( logName ).stop();
|
|
||||||
config.getLoggerConfig(logName).removeAppender( logName);
|
|
||||||
config.removeLogger(logName);
|
|
||||||
ctx.updateLoggers();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 创建 Logger
|
|
||||||
* @return Logger
|
|
||||||
*/
|
|
||||||
public static Logger createLogger(String pcLogPath, int iLogLevel) {
|
|
||||||
LogFactory.pcLogPath = pcLogPath;
|
|
||||||
LogFactory.iLogLevel = iLogLevel;
|
|
||||||
start();
|
|
||||||
return LogManager.getLogger(logName);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取 Logger
|
|
||||||
* @return Logger
|
|
||||||
*/
|
|
||||||
public static Logger getLogger() {
|
|
||||||
return LogManager.getLogger(logName);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,44 +0,0 @@
|
|||||||
package com.sunyard.sge.log;
|
|
||||||
|
|
||||||
|
|
||||||
public class LogInfo {
|
|
||||||
private int level;
|
|
||||||
private long datatime;
|
|
||||||
private String tname;
|
|
||||||
private long tid;
|
|
||||||
private String msg;
|
|
||||||
private Object[] objects;
|
|
||||||
|
|
||||||
public LogInfo(int level, String msg, Object[] objects) {
|
|
||||||
this.level = level;
|
|
||||||
this.msg = msg;
|
|
||||||
this.objects = objects;
|
|
||||||
this.datatime = System.currentTimeMillis();
|
|
||||||
this.tname = Thread.currentThread().getName();
|
|
||||||
this.tid = Thread.currentThread().getId();
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getLevel() {
|
|
||||||
return level;
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getDatatime() {
|
|
||||||
return datatime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTname() {
|
|
||||||
return tname;
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getTid() {
|
|
||||||
return tid;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getMsg() {
|
|
||||||
return msg;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Object[] getObjects() {
|
|
||||||
return objects;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,123 +0,0 @@
|
|||||||
package com.sunyard.sge.log;
|
|
||||||
|
|
||||||
import com.sunyard.sge.database.Consts;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.concurrent.ConcurrentLinkedQueue;
|
|
||||||
import java.util.concurrent.Executor;
|
|
||||||
import java.util.concurrent.Executors;
|
|
||||||
|
|
||||||
public class SydLogFactory {
|
|
||||||
// 日期格式
|
|
||||||
private static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
||||||
|
|
||||||
// 金交所定制日志
|
|
||||||
public static final String logName = "sge-hsm-sydapi-log";
|
|
||||||
|
|
||||||
// 日志级别
|
|
||||||
public static int iLogLevel = Consts.LogLevelOFF;
|
|
||||||
|
|
||||||
// 日志目录
|
|
||||||
public static String pcLogPath = "./sydapi-logs/";
|
|
||||||
|
|
||||||
// 日志队列
|
|
||||||
private static ConcurrentLinkedQueue<LogInfo> queue = new ConcurrentLinkedQueue<LogInfo>();
|
|
||||||
|
|
||||||
// 调试标记
|
|
||||||
public static boolean debug = false;
|
|
||||||
|
|
||||||
// 后台打印进程
|
|
||||||
private static Executor executor = Executors.newSingleThreadExecutor();
|
|
||||||
|
|
||||||
static {
|
|
||||||
executor.execute(new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
String logFileName = "";
|
|
||||||
FileOutputStream logFos = null;
|
|
||||||
|
|
||||||
while (true) {
|
|
||||||
try {
|
|
||||||
|
|
||||||
if (queue.isEmpty()) {
|
|
||||||
// 释放 CPU
|
|
||||||
Thread.sleep(500);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 有日志
|
|
||||||
// 确认日期
|
|
||||||
String mayLogFileName = String.format("%s_%s.log", logName, format.format( new Date()));
|
|
||||||
if ( ! logFileName.equals( mayLogFileName ) ) {
|
|
||||||
logFileName = mayLogFileName;
|
|
||||||
if ( null != logFos ) {
|
|
||||||
logFos.flush();
|
|
||||||
logFos.close();
|
|
||||||
}
|
|
||||||
File folder = new File( pcLogPath );
|
|
||||||
if ( ! folder.exists() ) {
|
|
||||||
folder.mkdirs();
|
|
||||||
}
|
|
||||||
|
|
||||||
File f = new File( pcLogPath, logFileName );
|
|
||||||
if ( ! f.exists() ) {
|
|
||||||
f.createNewFile();
|
|
||||||
}
|
|
||||||
logFos = new FileOutputStream( f , true);
|
|
||||||
}
|
|
||||||
|
|
||||||
while (!queue.isEmpty()) {
|
|
||||||
LogInfo info = queue.poll();
|
|
||||||
logFos.write(String.format("[%d:%s <%s-%d>] %s\r\n",
|
|
||||||
info.getLevel(),
|
|
||||||
format.format( new Date(info.getDatatime()) ),
|
|
||||||
info.getTname(),
|
|
||||||
info.getTid(),
|
|
||||||
info.getMsg()
|
|
||||||
).getBytes(StandardCharsets.UTF_8)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
logFos.flush();
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
} finally {
|
|
||||||
closeFileOutputStream(logFos);
|
|
||||||
logFileName = "";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private static void closeFileOutputStream(FileOutputStream fos){
|
|
||||||
if ( null != fos ) {
|
|
||||||
try {
|
|
||||||
fos.flush();
|
|
||||||
}catch (Exception e) {
|
|
||||||
//pass
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
fos.close();
|
|
||||||
}catch (Exception e) {
|
|
||||||
//pass
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private SydLogFactory() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public static SydLogger getLogger() {
|
|
||||||
return new SydLogger(queue);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,36 +0,0 @@
|
|||||||
package com.sunyard.sge.log;
|
|
||||||
|
|
||||||
import java.util.concurrent.ConcurrentLinkedQueue;
|
|
||||||
|
|
||||||
public class SydLogger {
|
|
||||||
|
|
||||||
private ConcurrentLinkedQueue<LogInfo> queue;
|
|
||||||
|
|
||||||
SydLogger(ConcurrentLinkedQueue<LogInfo> queue) {
|
|
||||||
this.queue = queue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void debug(String msg, Object... params) {
|
|
||||||
if (SydLogFactory.iLogLevel == 3) {
|
|
||||||
this.queue.add(new LogInfo(3, msg, params));
|
|
||||||
} else {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void info(String msg, Object... params) {
|
|
||||||
if (SydLogFactory.iLogLevel >= 2) {
|
|
||||||
this.queue.add(new LogInfo(2, msg, params));
|
|
||||||
} else {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void error(String msg, Object... params) {
|
|
||||||
if (SydLogFactory.iLogLevel >= 1) {
|
|
||||||
this.queue.add(new LogInfo(1, msg, params));
|
|
||||||
} else {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,9 +1,5 @@
|
|||||||
package com.sunyard.sge.pool;
|
package com.sunyard.sge.pool;
|
||||||
|
|
||||||
import com.sunyard.sge.database.SydApi;
|
|
||||||
import com.sunyard.sge.database.SydApi4Database;
|
|
||||||
import com.sunyard.sge.log.LogFactory;
|
|
||||||
import org.apache.logging.log4j.Logger;
|
|
||||||
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -12,13 +8,8 @@ import java.util.Map;
|
|||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.concurrent.locks.Lock;
|
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
|
||||||
|
|
||||||
public class ThreadBasedConnectPool<T> {
|
public class ThreadBasedConnectPool<T> {
|
||||||
static {
|
|
||||||
SydApi.SYD_SetLogConfig("./logs/", 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ThreadLocal
|
// ThreadLocal
|
||||||
private final Map<Thread, ObjectInPool<T>> map = new HashMap<>();
|
private final Map<Thread, ObjectInPool<T>> map = new HashMap<>();
|
||||||
@ -34,9 +25,6 @@ public class ThreadBasedConnectPool<T> {
|
|||||||
threadPool.scheduleAtFixedRate(new Runnable() {
|
threadPool.scheduleAtFixedRate(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
Logger log = LogFactory.getLogger();
|
|
||||||
log.debug("连接池检测进程开始执行");
|
|
||||||
log.debug("共有链接 {} 个", map.size());
|
|
||||||
|
|
||||||
// 检测和回收逻辑
|
// 检测和回收逻辑
|
||||||
Iterator<Map.Entry<Thread, ObjectInPool<T>>> it = map.entrySet().iterator();
|
Iterator<Map.Entry<Thread, ObjectInPool<T>>> it = map.entrySet().iterator();
|
||||||
@ -51,7 +39,6 @@ public class ThreadBasedConnectPool<T> {
|
|||||||
|
|
||||||
if (System.currentTimeMillis() - oip.getLasUseAt() > config.getMaxUseless()) {
|
if (System.currentTimeMillis() - oip.getLasUseAt() > config.getMaxUseless()) {
|
||||||
// 长时间未使用,回收链接
|
// 长时间未使用,回收链接
|
||||||
log.debug("回收一个链接");
|
|
||||||
|
|
||||||
it.remove();
|
it.remove();
|
||||||
|
|
||||||
@ -72,7 +59,6 @@ public class ThreadBasedConnectPool<T> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ( ! checkPass) {
|
if ( ! checkPass) {
|
||||||
log.debug("一个链接检查未通过");
|
|
||||||
// 检查未通过
|
// 检查未通过
|
||||||
it.remove();
|
it.remove();
|
||||||
|
|
||||||
@ -84,7 +70,6 @@ public class ThreadBasedConnectPool<T> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
log.debug("连接池检测进程执行结束");
|
|
||||||
}
|
}
|
||||||
}, config.getMaxIdle(), config.getMaxIdle(), TimeUnit.MILLISECONDS);
|
}, config.getMaxIdle(), config.getMaxIdle(), TimeUnit.MILLISECONDS);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,7 +3,6 @@ package sample;
|
|||||||
import com.sunyard.proto.Util;
|
import com.sunyard.proto.Util;
|
||||||
import com.sunyard.sge.database.*;
|
import com.sunyard.sge.database.*;
|
||||||
import com.sunyard.sge.database.Consts;
|
import com.sunyard.sge.database.Consts;
|
||||||
import com.sunyard.sge.log.LogFactory;
|
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
|
|
||||||
@ -16,10 +15,6 @@ public class Sample
|
|||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|
||||||
// 路径要以 / 或 \\ 结尾表示目录
|
// 路径要以 / 或 \\ 结尾表示目录
|
||||||
SydApi.SYD_SetLogConfig("./logs/",3);
|
|
||||||
|
|
||||||
Logger log = LogFactory.getLogger();
|
|
||||||
log.info("start");
|
|
||||||
|
|
||||||
// 通常单例就够了
|
// 通常单例就够了
|
||||||
SydApiBuilder builder = new SydApiBuilder(
|
SydApiBuilder builder = new SydApiBuilder(
|
||||||
@ -71,7 +66,6 @@ public class Sample
|
|||||||
api.SYD_Disconnect_Ex();
|
api.SYD_Disconnect_Ex();
|
||||||
}
|
}
|
||||||
System.out.println("all over");
|
System.out.println("all over");
|
||||||
log.info("all over");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,6 @@ public class ShortLinkSample {
|
|||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|
||||||
// 路径要以 / 或 \\ 结尾表示目录
|
// 路径要以 / 或 \\ 结尾表示目录
|
||||||
SydApi.SYD_SetLogConfig("./logs/",3);
|
|
||||||
|
|
||||||
String[] pcipList = {"127.0.0.1", "192.168.0.200" };
|
String[] pcipList = {"127.0.0.1", "192.168.0.200" };
|
||||||
int[] iportList ={8080,8889};
|
int[] iportList ={8080,8889};
|
||||||
|
|||||||
@ -1,19 +1,10 @@
|
|||||||
package test;
|
package test;
|
||||||
|
|
||||||
import com.sunyard.proto.Util;
|
|
||||||
import com.sunyard.sge.database.*;
|
import com.sunyard.sge.database.*;
|
||||||
import com.sunyard.sge.database.pool.HsmLinkInfo;
|
|
||||||
import com.sunyard.sge.database.pool.SydApiPool;
|
|
||||||
import com.sunyard.sge.log.LogFactory;
|
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
import java.time.Duration;
|
|
||||||
import java.time.Instant;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 功能确认
|
* 功能确认
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -3,9 +3,6 @@ package test;
|
|||||||
import com.sunyard.proto.Util;
|
import com.sunyard.proto.Util;
|
||||||
import com.sunyard.sge.database.*;
|
import com.sunyard.sge.database.*;
|
||||||
import com.sunyard.sge.database.Consts;
|
import com.sunyard.sge.database.Consts;
|
||||||
import com.sunyard.sge.log.LogFactory;
|
|
||||||
import org.apache.logging.log4j.Logger;
|
|
||||||
import org.junit.After;
|
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|||||||
@ -1,8 +1,5 @@
|
|||||||
package test;
|
package test;
|
||||||
|
|
||||||
import com.sunyard.sge.log.LogFactory;
|
|
||||||
import com.sunyard.sge.log.SydLogFactory;
|
|
||||||
import com.sunyard.sge.log.SydLogger;
|
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user