From 8c80ca25b65218feff2cf07720c101233bef44ed Mon Sep 17 00:00:00 2001 From: Daniel Qian Date: Wed, 21 Jan 2015 09:28:25 +0800 Subject: [PATCH] modify --- .../util/WxMsgIdInMemoryDuplicateChecker.java | 16 ++++++++-------- .../chanjar/weixin/mp/api/WxMpServiceImpl.java | 9 ++++----- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/WxMsgIdInMemoryDuplicateChecker.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/WxMsgIdInMemoryDuplicateChecker.java index a7bb70c6..0c8eee91 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/WxMsgIdInMemoryDuplicateChecker.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/WxMsgIdInMemoryDuplicateChecker.java @@ -14,12 +14,12 @@ public class WxMsgIdInMemoryDuplicateChecker implements WxMsgIdDuplicateChecker /** * 一个消息ID在内存的过期时间:15秒 */ - private final Long TIME_TO_LIVE; + private final Long timeToLive; /** * 每隔多少周期检查消息ID是否过期:5秒 */ - private final Long CLEAR_PERIOD; + private final Long clearPeriod; private final ConcurrentHashMap msgId2Timestamp = new ConcurrentHashMap(); @@ -31,8 +31,8 @@ public class WxMsgIdInMemoryDuplicateChecker implements WxMsgIdDuplicateChecker * */ public WxMsgIdInMemoryDuplicateChecker() { - this.TIME_TO_LIVE = 15 * 1000l; - this.CLEAR_PERIOD = 5 * 1000l; + this.timeToLive = 15 * 1000l; + this.clearPeriod = 5 * 1000l; this.start(); } @@ -42,8 +42,8 @@ public class WxMsgIdInMemoryDuplicateChecker implements WxMsgIdDuplicateChecker * @param clearPeriod 每隔多少周期检查消息ID是否过期:毫秒 */ public WxMsgIdInMemoryDuplicateChecker(Long timeToLive, Long clearPeriod) { - this.TIME_TO_LIVE = timeToLive; - this.CLEAR_PERIOD = clearPeriod; + this.timeToLive = timeToLive; + this.clearPeriod = clearPeriod; this.start(); } @@ -53,10 +53,10 @@ public class WxMsgIdInMemoryDuplicateChecker implements WxMsgIdDuplicateChecker public void run() { try { while (true) { - Thread.sleep(CLEAR_PERIOD); + Thread.sleep(clearPeriod); Long now = System.currentTimeMillis(); for (Map.Entry entry : msgId2Timestamp.entrySet()) { - if (now - entry.getValue() > TIME_TO_LIVE) { + if (now - entry.getValue() > timeToLive) { msgId2Timestamp.entrySet().remove(entry); } } diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpServiceImpl.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpServiceImpl.java index ac007444..ba256865 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpServiceImpl.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpServiceImpl.java @@ -39,19 +39,18 @@ import java.io.StringReader; import java.security.NoSuchAlgorithmException; import java.util.List; import java.util.UUID; -import java.util.concurrent.atomic.AtomicBoolean; public class WxMpServiceImpl implements WxMpService { /** * 全局的是否正在刷新access token的锁 */ - protected static final Object GLOBAL_ACCESS_TOKEN_REFRESH_LOCK = new Object(); + protected final Object globalAccessTokenRefreshLock = new Object(); /** * 全局的是否正在刷新jsapi_ticket的锁 */ - protected static final Object GLOBAL_JSAPI_TICKET_REFRESH_LOCK = new Object(); + protected final Object globalJsapiTicketRefreshLock = new Object(); protected WxMpConfigStorage wxMpConfigStorage; @@ -78,7 +77,7 @@ public class WxMpServiceImpl implements WxMpService { wxMpConfigStorage.expireAccessToken(); } if (wxMpConfigStorage.isAccessTokenExpired()) { - synchronized (GLOBAL_ACCESS_TOKEN_REFRESH_LOCK) { + synchronized (globalAccessTokenRefreshLock) { if (wxMpConfigStorage.isAccessTokenExpired()) { String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential" + "&appid=" + wxMpConfigStorage.getAppId() @@ -119,7 +118,7 @@ public class WxMpServiceImpl implements WxMpService { wxMpConfigStorage.expireJsapiTicket(); } if (wxMpConfigStorage.isJsapiTicketExpired()) { - synchronized (GLOBAL_JSAPI_TICKET_REFRESH_LOCK) { + synchronized (globalJsapiTicketRefreshLock) { if (wxMpConfigStorage.isJsapiTicketExpired()) { String url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi"; String responseContent = execute(new SimpleGetRequestExecutor(), url, null);