public WxClient with(AppSetting appSetting) { if (!wxClients.containsKey(key(appSetting))) { String url = WxEndpoint.get("url.token.get"); String clazz = appSetting.getTokenHolderClass(); AccessTokenHolder accessTokenHolder = null; if (clazz == null || "".equals(clazz)) { try { accessTokenHolder = (AccessTokenHolder) Class.forName(clazz).newInstance(); accessTokenHolder.setClientId(appSetting.getAppId()); accessTokenHolder.setClientSecret(appSetting.getSecret()); accessTokenHolder.setTokenUrl(url); } catch (Exception e) { accessTokenHolder = new DefaultAccessTokenHolder(url, appSetting.getAppId(), appSetting.getSecret()); } } else { accessTokenHolder = new DefaultAccessTokenHolder(url, appSetting.getAppId(), appSetting.getSecret()); } WxClient wxClient = new WxClient(appSetting.getAppId(), appSetting.getSecret(), accessTokenHolder); wxClients.putIfAbsent(key(appSetting), wxClient); } return wxClients.get(key(appSetting)); }
public WxClient with(AppSetting appSetting) { if (!wxClients.containsKey(key(appSetting))) { String url = WxEndpoint.get("url.token.get"); WxClient wxClient = new WxClient(url, appSetting.getAppId(), appSetting.getSecret()); wxClients.putIfAbsent(key(appSetting), wxClient); } return wxClients.get(key(appSetting)); }
private String key(AppSetting appSetting) { return appSetting.getAppId() + ":" + appSetting.getSecret(); }