xujunwei 3 лет назад
Родитель
Сommit
3d64942d66

+ 2 - 3
framework-boot/src/main/java/com/mrxu/framework/boot/feign/FeignProviderException.java

@@ -13,7 +13,6 @@ import java.io.Serializable;
  * @Description: rpc 服务端异常
  */
 @Data
-@Component
 public class FeignProviderException extends RuntimeException implements Serializable {
 
     // 是否是业务异常
@@ -23,7 +22,6 @@ public class FeignProviderException extends RuntimeException implements Serializ
     private String fromServiceName;
 
     // 当前服务名称
-    @Value("${spring.application.name:未知(未配置spring.application.name)}")
     private String serviceName;
 
     private int code;
@@ -32,9 +30,10 @@ public class FeignProviderException extends RuntimeException implements Serializ
 
     public FeignProviderException(){}
 
-    public FeignProviderException(boolean isBusinessException, BaseCode baseCode, Throwable cause) {
+    public FeignProviderException(boolean isBusinessException,String serviceName, BaseCode baseCode, Throwable cause) {
         super(cause);
         this.isBusinessException = isBusinessException;
+        this.serviceName = serviceName;
         this.fromServiceName = RpcRequestInfo.getFromServiceName();
         this.code = baseCode.getCode();
         this.msg = baseCode.getMsg();

+ 6 - 1
framework-boot/src/main/java/com/mrxu/framework/boot/handle/FeignProviderExceptionHandler.java

@@ -6,6 +6,7 @@ import com.mrxu.framework.boot.web.ServletUtils;
 import com.mrxu.framework.common.util.BaseCode;
 import com.mrxu.framework.common.util.BusinessException;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpStatus;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.MethodArgumentNotValidException;
@@ -26,6 +27,10 @@ import javax.servlet.http.HttpServletRequest;
 @Slf4j
 public class FeignProviderExceptionHandler {
 
+    // 当前服务名称
+    @Value("${spring.application.name:未知(未配置spring.application.name)}")
+    private String serviceName;
+
     /*@Retention(RetentionPolicy.RUNTIME)
     @Target({ElementType.TYPE})
     @Documented
@@ -57,7 +62,7 @@ public class FeignProviderExceptionHandler {
 
     public Object rendError(boolean isBusinessException,BaseCode code, Throwable cause) {
         HttpServletRequest request = ServletUtils.getRequest();
-        FeignProviderException exception = new FeignProviderException(isBusinessException,code,cause);
+        FeignProviderException exception = new FeignProviderException(isBusinessException,serviceName,code,cause);
         return exception;
     }