栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Hystrix配置通配服务降级后调用接口出现NullPointerException

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Hystrix配置通配服务降级后调用接口出现NullPointerException

Hystrix配置通配服务降级后调用接口出现NullPointerException
  • 异常信息
  • 降级配置
  • 问题所在

异常信息
java.lang.NullPointerException: null
	at liyue.springcloud.controller.OrderController.paymentInfo(OrderController.java:30) ~[classes/:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_301]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_301]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_301]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_301]
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) ~[spring-web-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) ~[spring-web-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) ~[spring-webmvc-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) ~[spring-webmvc-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) ~[spring-webmvc-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) ~[spring-webmvc-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) ~[spring-webmvc-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.web.servlet.frameworkServlet.processRequest(frameworkServlet.java:1006) ~[spring-webmvc-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.web.servlet.frameworkServlet.doGet(frameworkServlet.java:898) ~[spring-webmvc-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) ~[tomcat-embed-core-9.0.41.jar:4.0.FR]
降级配置
feign:
  hystrix:
    enabled: true
@Service
@FeignClient(value = "CLOUD-PAYMENT-HYSTRIX-SERVICE",fallback = PaymentFeignFallbackService.class)
public interface PaymentFeignService {

    @GetMapping("/payment/hystrix/info/{id}")
    public Result paymentInfo(@PathVariable("id") Integer id);

    @GetMapping("/payment/hystrix/timeout/info/{id}")
    public Result paymentInfoTimeout(@PathVariable("id")Integer id);
}
@Service
public class PaymentFeignFallbackService implements PaymentFeignService {
    @Override
    public Result paymentInfo(Integer id) {
        Result result = new Result();
        result.ok(ErrorEnum.SUCCESS,"全局fallback");
        return result;
    }

    @Override
    public Result paymentInfoTimeout(Integer id) {
        Result result = new Result();
        result.ok(ErrorEnum.ERROR,"全局fallback");
        return result;
    }
}

麻了,按着尚硅谷的视频配置的,结果调用paymentInfo接口出现上面的异常。

问题所在


删掉@HystrixCommand即可。至于具体原因我也不是很清楚,估计是因为它也是进行服务降级的,而通过设置实现service的类的通配降级方式跟这种注解的方式冲突了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/631601.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号