Commit 92f1adcd authored by matianhao's avatar matianhao

[瑞成接口] <rollack> 增加请求秘钥和过期时间日志

parent da7c05a9
...@@ -59,18 +59,17 @@ ...@@ -59,18 +59,17 @@
<version>2.3.0.RELEASE</version> <version>2.3.0.RELEASE</version>
</dependency> </dependency>
<dependency> <!--<dependency>-->
<groupId>com.alibaba.cloud</groupId> <!--<groupId>com.alibaba.cloud</groupId>-->
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <!--<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>-->
<version>2.1.1.RELEASE</version> <!--<version>2.1.1.RELEASE</version>-->
</dependency> <!--</dependency>-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
<!--<dependency>-->
<!--<groupId>com.alibaba.cloud</groupId>-->
<!--<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>-->
<!--<version>2.1.1.RELEASE</version>-->
<!--</dependency>-->
<!-- https://mvnrepository.com/artifact/org.json/json --> <!-- https://mvnrepository.com/artifact/org.json/json -->
...@@ -105,6 +104,63 @@ ...@@ -105,6 +104,63 @@
<version>2.1.3</version> <version>2.1.3</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-adb</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-transport-local</artifactId>
<version>1.7.9</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-transport-http-tests</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-kernel</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.ws.commons.axiom</groupId>
<artifactId>axiom-api</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>org.apache.ws.commons.axiom</groupId>
<artifactId>axiom-impl</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.ws.commons.schema</groupId>
<artifactId>XmlSchema</artifactId>
<version>1.4.7</version>
</dependency>
<dependency>
<groupId>org.lucee</groupId>
<artifactId>wsdl4j</artifactId>
<version>1.5.1</version>
</dependency>
</dependencies> </dependencies>
......
...@@ -110,6 +110,7 @@ public class RequestSecretSchedulerTask implements SchedulingConfigurer { ...@@ -110,6 +110,7 @@ public class RequestSecretSchedulerTask implements SchedulingConfigurer {
refreshSecretEndTime = Long.parseLong(datas.getString("refreshSecretEndTime")); refreshSecretEndTime = Long.parseLong(datas.getString("refreshSecretEndTime"));
// 设置过期时间,30秒内不重新刷新秘钥 // 设置过期时间,30秒内不重新刷新秘钥
String expireTime = String.valueOf(requestSecretEndTime - (14 * 60 * 1000 + 30 * 1000)); String expireTime = String.valueOf(requestSecretEndTime - (14 * 60 * 1000 + 30 * 1000));
// redis保存 请求秘钥 和 过期时间 // redis保存 请求秘钥 和 过期时间
log.info("请求秘钥:{};请求秘钥过期时间:{};30s内不刷新秘钥:{}", log.info("请求秘钥:{};请求秘钥过期时间:{};30s内不刷新秘钥:{}",
requestSecret, requestSecret,
......
...@@ -13,11 +13,14 @@ import org.springframework.util.LinkedMultiValueMap; ...@@ -13,11 +13,14 @@ import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap; import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.Date; import java.util.Date;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import static com.mth.requestsecret.constant.Constants.SJJ_REQUEST_SECRET_PREFIX; import static com.mth.requestsecret.constant.Constants.*;
/** /**
* @author fyl * @author fyl
...@@ -41,8 +44,6 @@ public class RestTemplateService { ...@@ -41,8 +44,6 @@ public class RestTemplateService {
private ThreadLocal<Integer> threadLocal = ThreadLocal.withInitial(() -> 0); private ThreadLocal<Integer> threadLocal = ThreadLocal.withInitial(() -> 0);
private static final Integer REQUEST_LIMIT = 20;
@Value("${ruicheng.address}") @Value("${ruicheng.address}")
private String pathUrl; private String pathUrl;
...@@ -108,32 +109,32 @@ public class RestTemplateService { ...@@ -108,32 +109,32 @@ public class RestTemplateService {
ResponseEntity<String> responseEntity = restTemplate.exchange(url.toString(), HttpMethod.POST, request, String.class); ResponseEntity<String> responseEntity = restTemplate.exchange(url.toString(), HttpMethod.POST, request, String.class);
log.info("api response:{}", responseEntity); log.info("api response:{}", responseEntity);
// try { try {
// // 接口返回码 // 接口返回码
// String code = JSONObject.parseObject(responseEntity.getBody()).getString("code"); String code = JSONObject.parseObject(responseEntity.getBody()).getString("code");
// Integer count = threadLocal.get(); Integer count = threadLocal.get();
// String threadName = Thread.currentThread().getName(); String threadName = Thread.currentThread().getName();
//
// // 如非成功返回码,则重新获取秘钥并发送请求,限制重新请求次数 // 如非成功返回码,则重新获取秘钥并发送请求,限制重新请求次数两次
// if (!RESPONSE_CODE_00.equals(code) && count < REQUEST_LIMIT) { if (!RESPONSE_CODE_00.equals(code) && count < 2) {
// threadLocal.set(++count); threadLocal.set(++count);
// log.info("线程名称:{},重新请求次数:{}", threadName, count); log.info("线程名称:{},重新请求次数:{}", threadName, count);
// // redis 中获取过期时间 // redis 中获取过期时间
// String expireTimeStr = redisUtil.get(SJJ_REQUEST_EXPIRE_TIME_PREFIX); String expireTimeStr = redisUtil.get(SJJ_REQUEST_EXPIRE_TIME_PREFIX);
// LocalDateTime expireTime = Instant.ofEpochMilli(Long.parseLong(expireTimeStr)).atZone(ZoneOffset.ofHours(8)).toLocalDateTime(); LocalDateTime expireTime = Instant.ofEpochMilli(Long.parseLong(expireTimeStr)).atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
// LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
// // 当前时间超过过期时间,重新请求秘钥,否则重新发送请求 // 当前时间超过过期时间,重新请求秘钥,否则重新发送请求
// if (now.isAfter(expireTime)) { if (now.isAfter(expireTime)) {
// log.info("redis中过期时间:{},当前时间:{}", expireTime, now); log.info("redis中过期时间:{},当前时间:{}", expireTime, now);
// // 重新获取秘钥 // 重新获取秘钥
// schedulerTask.getRequestSecret(); schedulerTask.getRequestSecret();
// } }
// // 重新调用请求 // 重新调用请求
// return commonSendRequest(paramMap, apiMethod); return commonSendRequest(paramMap, apiMethod);
// } }
// } finally { } finally {
// threadLocal.remove(); threadLocal.remove();
// } }
return responseEntity; return responseEntity;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment