update - 调整服务启动时, 获取版本号异常的问题

This commit is contained in:
wangli 2024-02-18 17:33:26 +08:00
parent 3e043a14df
commit 718c0cc62d

View File

@ -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;
}