update - 调整服务启动时, 获取版本号异常的问题
This commit is contained in:
parent
3e043a14df
commit
718c0cc62d
@ -1,22 +1,17 @@
|
||||
package cn.axzo.workflow.server.common.interceptor;
|
||||
|
||||
import cn.axzo.workflow.core.common.exception.WorkflowEngineException;
|
||||
import cn.axzo.workflow.core.repository.entity.ExtAxProperty;
|
||||
import cn.axzo.workflow.core.service.ExtAxPropertyService;
|
||||
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.servlet.HandlerInterceptor;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Objects;
|
||||
|
||||
import static cn.axzo.workflow.client.config.FeignRequestInterceptor.HEADER_API_VERSION;
|
||||
import static cn.axzo.workflow.client.config.FeignRequestInterceptor.HEADER_HTTP_CLIENT;
|
||||
import static cn.axzo.workflow.client.config.FeignRequestInterceptor.HEADER_HTTP_CLIENT_VALUE;
|
||||
import static cn.axzo.workflow.client.config.FeignRequestInterceptor.HEADER_SERVER_NAME;
|
||||
import static cn.axzo.workflow.core.common.code.OtherRespCode.CLIENT_VERSION_SUPPORT;
|
||||
|
||||
/**
|
||||
* 客户端与服务端的版本比较
|
||||
@ -24,7 +19,7 @@ import static cn.axzo.workflow.core.common.code.OtherRespCode.CLIENT_VERSION_SUP
|
||||
* @author wangli
|
||||
* @since 2024/2/4 15:48
|
||||
*/
|
||||
//@Component
|
||||
@Component
|
||||
public class RequestHeaderContextInterceptor implements HandlerInterceptor {
|
||||
@Autowired
|
||||
private String serviceVersion;
|
||||
@ -33,22 +28,23 @@ public class RequestHeaderContextInterceptor implements HandlerInterceptor {
|
||||
|
||||
@Override
|
||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
||||
if (Objects.equals(HEADER_HTTP_CLIENT_VALUE, request.getHeader(HEADER_HTTP_CLIENT))) {
|
||||
String headerClientVersion = request.getHeader(HEADER_API_VERSION);
|
||||
DefaultArtifactVersion clientVersion = new DefaultArtifactVersion(headerClientVersion);
|
||||
DefaultArtifactVersion serverVersion = new DefaultArtifactVersion(serviceVersion);
|
||||
if (clientVersion.compareTo(serverVersion) >= 0) {
|
||||
|
||||
recordClientInfo(request, headerClientVersion, clientVersion);
|
||||
|
||||
return true;
|
||||
} else {
|
||||
throw new WorkflowEngineException(CLIENT_VERSION_SUPPORT, serviceVersion);
|
||||
}
|
||||
}
|
||||
if (!request.getRequestURI().contains("/web/") && !request.getRequestURI().contains("checkDeath") && !StringUtils.hasText(request.getHeader(HEADER_HTTP_CLIENT))) {
|
||||
throw new WorkflowEngineException(CLIENT_VERSION_SUPPORT, serviceVersion);
|
||||
}
|
||||
// if (Objects.equals(HEADER_HTTP_CLIENT_VALUE, request.getHeader(HEADER_HTTP_CLIENT))) {
|
||||
// String headerClientVersion = request.getHeader(HEADER_API_VERSION);
|
||||
// DefaultArtifactVersion clientVersion = new DefaultArtifactVersion(headerClientVersion);
|
||||
// DefaultArtifactVersion serverVersion = new DefaultArtifactVersion(serviceVersion);
|
||||
// if (clientVersion.compareTo(serverVersion) >= 0) {
|
||||
//
|
||||
// recordClientInfo(request, headerClientVersion, clientVersion);
|
||||
//
|
||||
// return true;
|
||||
// } else {
|
||||
// throw new WorkflowEngineException(CLIENT_VERSION_SUPPORT, serviceVersion);
|
||||
// }
|
||||
// }
|
||||
// if (!request.getRequestURI().contains("/web/") && !request.getRequestURI().contains("checkDeath")
|
||||
// && !StringUtils.hasText(request.getHeader(HEADER_HTTP_CLIENT))) {
|
||||
// throw new WorkflowEngineException(CLIENT_VERSION_SUPPORT, serviceVersion);
|
||||
// }
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user