首页>代码>java web支付宝实现对接支付实例>/F2FPay_Demo_Java/TradePaySDK/src/com/alipay/demo/trade/config/Configs.java
package com.alipay.demo.trade.config; import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.PropertiesConfiguration; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** * Created by liuyangkly on 15/6/27. */ public class Configs { private static Log log = LogFactory.getLog(Configs.class); private static Configuration configs; private static String openApiDomain; // 支付宝openapi域名 private static String mcloudApiDomain; // 支付宝mcloudmonitor域名 private static String pid; // 商户partner id private static String appid; // 商户应用id private static String privateKey; // RSA私钥,用于对商户请求报文加签 private static String publicKey; // RSA公钥,仅用于验证开发者网关 private static String alipayPublicKey; // 支付宝RSA公钥,用于验签支付宝应答 private static String signType; // 签名类型 private static int maxQueryRetry; // 最大查询次数 private static long queryDuration; // 查询间隔(毫秒) private static int maxCancelRetry; // 最大撤销次数 private static long cancelDuration; // 撤销间隔(毫秒) private static long heartbeatDelay ; // 交易保障线程第一次调度延迟(秒) private static long heartbeatDuration ; // 交易保障线程调度间隔(秒) private Configs() { // No Constructor } // 根据文件名读取配置文件,文件后缀名必须为.properties public synchronized static void init(String filePath) { if (configs != null) { return; } try { configs = new PropertiesConfiguration(filePath); } catch (ConfigurationException e) { e.printStackTrace(); } if (configs == null) { throw new IllegalStateException("can`t find file by path:" + filePath); } openApiDomain = configs.getString("open_api_domain"); mcloudApiDomain = configs.getString("mcloud_api_domain"); pid = configs.getString("pid"); appid = configs.getString("appid"); // RSA privateKey = configs.getString("private_key"); publicKey = configs.getString("public_key"); alipayPublicKey = configs.getString("alipay_public_key"); signType = configs.getString("sign_type"); // 查询参数 maxQueryRetry = configs.getInt("max_query_retry"); queryDuration = configs.getLong("query_duration"); maxCancelRetry = configs.getInt("max_cancel_retry"); cancelDuration = configs.getLong("cancel_duration"); // 交易保障调度线程 heartbeatDelay = configs.getLong("heartbeat_delay"); heartbeatDuration = configs.getLong("heartbeat_duration"); log.info("配置文件名: " + filePath); log.info(description()); } public static String description() { StringBuilder sb = new StringBuilder("Configs{"); sb.append("支付宝openapi网关: ").append(openApiDomain).append("\n"); if (StringUtils.isNotEmpty(mcloudApiDomain)) { sb.append(", 支付宝mcloudapi网关域名: ").append(mcloudApiDomain).append("\n"); } if (StringUtils.isNotEmpty(pid)) { sb.append(", pid: ").append(pid).append("\n"); } sb.append(", appid: ").append(appid).append("\n"); sb.append(", 商户RSA私钥: ").append(getKeyDescription(privateKey)).append("\n"); sb.append(", 商户RSA公钥: ").append(getKeyDescription(publicKey)).append("\n"); sb.append(", 支付宝RSA公钥: ").append(getKeyDescription(alipayPublicKey)).append("\n"); sb.append(", 签名类型: ").append(signType).append("\n"); sb.append(", 查询重试次数: ").append(maxQueryRetry).append("\n"); sb.append(", 查询间隔(毫秒): ").append(queryDuration).append("\n"); sb.append(", 撤销尝试次数: ").append(maxCancelRetry).append("\n"); sb.append(", 撤销重试间隔(毫秒): ").append(cancelDuration).append("\n"); sb.append(", 交易保障调度延迟(秒): ").append(heartbeatDelay).append("\n"); sb.append(", 交易保障调度间隔(秒): ").append(heartbeatDuration).append("\n"); sb.append("}"); return sb.toString(); } private static String getKeyDescription(String key) { int showLength = 6; if (StringUtils.isNotEmpty(key) && key.length() > showLength) { return new StringBuilder(key.substring(0, showLength)) .append("******") .append(key.substring(key.length() - showLength)) .toString(); } return null; } public static Configuration getConfigs() { return configs; } public static String getOpenApiDomain() { return openApiDomain; } public static String getMcloudApiDomain() { return mcloudApiDomain; } public static void setMcloudApiDomain(String mcloudApiDomain) { Configs.mcloudApiDomain = mcloudApiDomain; } public static String getPid() { return pid; } public static String getAppid() { return appid; } public static String getPrivateKey() { return privateKey; } public static String getPublicKey() { return publicKey; } public static String getAlipayPublicKey() { return alipayPublicKey; } public static String getSignType() { return signType; } public static int getMaxQueryRetry() { return maxQueryRetry; } public static long getQueryDuration() { return queryDuration; } public static int getMaxCancelRetry() { return maxCancelRetry; } public static long getCancelDuration() { return cancelDuration; } public static void setConfigs(Configuration configs) { Configs.configs = configs; } public static void setOpenApiDomain(String openApiDomain) { Configs.openApiDomain = openApiDomain; } public static void setPid(String pid) { Configs.pid = pid; } public static void setAppid(String appid) { Configs.appid = appid; } public static void setPrivateKey(String privateKey) { Configs.privateKey = privateKey; } public static void setPublicKey(String publicKey) { Configs.publicKey = publicKey; } public static void setAlipayPublicKey(String alipayPublicKey) { Configs.alipayPublicKey = alipayPublicKey; } public static void setSignType(String signType) { Configs.signType = signType; } public static void setMaxQueryRetry(int maxQueryRetry) { Configs.maxQueryRetry = maxQueryRetry; } public static void setQueryDuration(long queryDuration) { Configs.queryDuration = queryDuration; } public static void setMaxCancelRetry(int maxCancelRetry) { Configs.maxCancelRetry = maxCancelRetry; } public static void setCancelDuration(long cancelDuration) { Configs.cancelDuration = cancelDuration; } public static long getHeartbeatDelay() { return heartbeatDelay; } public static void setHeartbeatDelay(long heartbeatDelay) { Configs.heartbeatDelay = heartbeatDelay; } public static long getHeartbeatDuration() { return heartbeatDuration; } public static void setHeartbeatDuration(long heartbeatDuration) { Configs.heartbeatDuration = heartbeatDuration; } }
最近下载更多
北方菜 LV11
2023年4月12日
annazhang LV29
2022年10月31日
tss1999 LV3
2022年5月7日
lzlzyw LV14
2022年3月25日
breakCY LV15
2022年3月21日
liuziqi0529 LV4
2022年3月17日
alexxxxx LV2
2022年2月22日
dhiwuakdoiqw LV2
2021年5月13日
amour1 LV11
2021年3月19日
aassssss LV1
2021年3月17日
最近浏览更多
Luck_ZDM LV12
7月17日
TY0165 LV20
6月24日
grant1123 LV2
6月23日
ma406805131 LV15
5月24日
lc583415630 LV1
3月15日
夜上清元 LV8
3月13日
182038380
2023年12月25日
暂无贡献等级
zxy135201 LV5
2023年11月30日
19050126312 LV1
2023年10月19日
2036495585 LV9
2023年9月25日