Browse Source

#956 使用ConcurrentHashMap替换HashTable

master
liaochuntao 6 years ago
committed by Binary Wang
parent
commit
5d7f69a984
4 changed files with 13 additions and 12 deletions
  1. +2
    -1
      weixin-java-common/src/main/java/me/chanjar/weixin/common/util/res/StringManager.java
  2. +2
    -2
      weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/util/json/WxMaVisitDistributionGsonAdapter.java
  3. +4
    -4
      weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java
  4. +5
    -5
      weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenInMemoryConfigStorage.java

+ 2
- 1
weixin-java-common/src/main/java/me/chanjar/weixin/common/util/res/StringManager.java View File

@@ -19,6 +19,7 @@ package me.chanjar.weixin.common.util.res;


import java.text.MessageFormat; import java.text.MessageFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.ConcurrentHashMap;


/** /**
* An internationalization / localization helper class which reduces * An internationalization / localization helper class which reduces
@@ -46,7 +47,7 @@ import java.util.*;
*/ */
public class StringManager { public class StringManager {


private static final Map<String, Map<Locale, StringManager>> MANAGERS = new Hashtable<>();
private static final Map<String, Map<Locale, StringManager>> MANAGERS = new ConcurrentHashMap<>();
private static int LOCALE_CACHE_SIZE = 10; private static int LOCALE_CACHE_SIZE = 10;
/** /**
* The ResourceBundle for this StringManager. * The ResourceBundle for this StringManager.


+ 2
- 2
weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/util/json/WxMaVisitDistributionGsonAdapter.java View File

@@ -10,9 +10,9 @@ import com.google.gson.JsonParseException;
import me.chanjar.weixin.common.util.json.GsonHelper; import me.chanjar.weixin.common.util.json.GsonHelper;


import java.lang.reflect.Type; import java.lang.reflect.Type;
import java.util.Hashtable;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;


/** /**
* @author <a href="https://github.com/charmingoh">Charming</a> * @author <a href="https://github.com/charmingoh">Charming</a>
@@ -36,7 +36,7 @@ public class WxMaVisitDistributionGsonAdapter implements JsonDeserializer<WxMaVi
} }


JsonArray listArray = object.getAsJsonArray("list"); JsonArray listArray = object.getAsJsonArray("list");
Map<String, Map<Integer, Integer>> list = new Hashtable<>(listArray.size());
Map<String, Map<Integer, Integer>> list = new ConcurrentHashMap<>(listArray.size());
for (JsonElement indexElement : listArray) { for (JsonElement indexElement : listArray) {
JsonObject indexObject = indexElement.getAsJsonObject(); JsonObject indexObject = indexElement.getAsJsonObject();
String index = GsonHelper.getString(indexObject, "index"); String index = GsonHelper.getString(indexObject, "index");


+ 4
- 4
weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java View File

@@ -27,18 +27,18 @@ import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;


import java.util.Hashtable;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;


/** /**
* @author <a href="https://github.com/007gzs">007</a> * @author <a href="https://github.com/007gzs">007</a>
*/ */
public class WxOpenComponentServiceImpl implements WxOpenComponentService { public class WxOpenComponentServiceImpl implements WxOpenComponentService {
private static final JsonParser JSON_PARSER = new JsonParser(); private static final JsonParser JSON_PARSER = new JsonParser();
private static final Map<String, WxOpenMaService> WX_OPEN_MA_SERVICE_MAP = new Hashtable<>();
private static final Map<String, WxMpService> WX_OPEN_MP_SERVICE_MAP = new Hashtable<>();
private static final Map<String, WxOpenFastMaService> WX_OPEN_FAST_MA_SERVICE_MAP = new Hashtable<>();
private static final Map<String, WxOpenMaService> WX_OPEN_MA_SERVICE_MAP = new ConcurrentHashMap<>();
private static final Map<String, WxMpService> WX_OPEN_MP_SERVICE_MAP = new ConcurrentHashMap<>();
private static final Map<String, WxOpenFastMaService> WX_OPEN_FAST_MA_SERVICE_MAP = new ConcurrentHashMap<>();


protected final Logger log = LoggerFactory.getLogger(this.getClass()); protected final Logger log = LoggerFactory.getLogger(this.getClass());
private WxOpenService wxOpenService; private WxOpenService wxOpenService;


+ 5
- 5
weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenInMemoryConfigStorage.java View File

@@ -2,8 +2,8 @@ package me.chanjar.weixin.open.api.impl;




import java.io.File; import java.io.File;
import java.util.Hashtable;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.locks.ReentrantLock;


@@ -37,10 +37,10 @@ public class WxOpenInMemoryConfigStorage implements WxOpenConfigStorage {
private String httpProxyPassword; private String httpProxyPassword;
private ApacheHttpClientBuilder apacheHttpClientBuilder; private ApacheHttpClientBuilder apacheHttpClientBuilder;


private Map<String, Token> authorizerRefreshTokens = new Hashtable<>();
private Map<String, Token> authorizerAccessTokens = new Hashtable<>();
private Map<String, Token> jsapiTickets = new Hashtable<>();
private Map<String, Token> cardApiTickets = new Hashtable<>();
private Map<String, Token> authorizerRefreshTokens = new ConcurrentHashMap<>();
private Map<String, Token> authorizerAccessTokens = new ConcurrentHashMap<>();
private Map<String, Token> jsapiTickets = new ConcurrentHashMap<>();
private Map<String, Token> cardApiTickets = new ConcurrentHashMap<>();


@Override @Override
public String getComponentAppId() { public String getComponentAppId() {


Loading…
Cancel
Save