From c175a31c45578385a2ea9dd2cc91c940d4b29ae9 Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Sat, 4 Apr 2020 22:09:56 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20=E4=BF=AE=E5=A4=8D=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../util/locks/JedisDistributedLock.java | 2 ++ .../api/impl/WxOpenComponentServiceImpl.java | 18 +++++++++--------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/locks/JedisDistributedLock.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/locks/JedisDistributedLock.java index 636e7e24..b136a4c2 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/locks/JedisDistributedLock.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/locks/JedisDistributedLock.java @@ -3,6 +3,8 @@ package me.chanjar.weixin.common.util.locks; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; + +import com.github.jedis.lock.JedisLock; import redis.clients.jedis.Jedis; import redis.clients.util.Pool; diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java index e0035abe..4483e0a0 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java @@ -23,8 +23,8 @@ import org.slf4j.LoggerFactory; import java.util.List; import java.util.Map; -import java.util.concurrent.locks.Lock; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.locks.Lock; /** * @author 007 @@ -158,12 +158,12 @@ public class WxOpenComponentServiceImpl implements WxOpenComponentService { Lock lock = this.getWxOpenConfigStorage().getComponentAccessTokenLock(); lock.lock(); try { - if (StringUtils.equals(componentAccessToken, this.getWxOpenConfigStorage().getComponentAccessToken()){ + if (StringUtils.equals(componentAccessToken, this.getWxOpenConfigStorage().getComponentAccessToken())) { this.getWxOpenConfigStorage().expireComponentAccessToken(); } } catch (Exception ex) { this.getWxOpenConfigStorage().expireComponentAccessToken(); - }finally { + } finally { lock.unlock(); } @@ -202,12 +202,12 @@ public class WxOpenComponentServiceImpl implements WxOpenComponentService { Lock lock = this.getWxOpenConfigStorage().getComponentAccessTokenLock(); lock.lock(); try { - if (StringUtils.equals(componentAccessToken, this.getWxOpenConfigStorage().getComponentAccessToken()){ + if (StringUtils.equals(componentAccessToken, this.getWxOpenConfigStorage().getComponentAccessToken())) { this.getWxOpenConfigStorage().expireComponentAccessToken(); } } catch (Exception ex) { this.getWxOpenConfigStorage().expireComponentAccessToken(); - }finally { + } finally { lock.unlock(); } if (this.getWxOpenConfigStorage().autoRefreshToken()) { @@ -379,13 +379,13 @@ public class WxOpenComponentServiceImpl implements WxOpenComponentService { @Override public String getAuthorizerAccessToken(String appId, boolean forceRefresh) throws WxErrorException { WxOpenConfigStorage config = getWxOpenConfigStorage(); - if (!config.isAuthorizerAccessTokenExpired(appId) && !forceRefresh){ + if (!config.isAuthorizerAccessTokenExpired(appId) && !forceRefresh) { return config.getAuthorizerAccessToken(appId); } Lock lock = config.getWxMpConfigStorage(appId).getAccessTokenLock(); lock.lock(); - try{ - if (!config.isAuthorizerAccessTokenExpired(appId) && !forceRefresh){ + try { + if (!config.isAuthorizerAccessTokenExpired(appId) && !forceRefresh) { return config.getAuthorizerAccessToken(appId); } JsonObject jsonObject = new JsonObject(); @@ -397,7 +397,7 @@ public class WxOpenComponentServiceImpl implements WxOpenComponentService { WxOpenAuthorizerAccessToken wxOpenAuthorizerAccessToken = WxOpenAuthorizerAccessToken.fromJson(responseContent); config.updateAuthorizerAccessToken(appId, wxOpenAuthorizerAccessToken); return config.getAuthorizerAccessToken(appId); - }finally { + } finally { lock.unlock(); } }