FeignClient导致的空指针异常

场景:在原有的Spring Boot环境中新增Consul服务,同时使用@FeignClient调用接口。

Bug:启动时,实现了接口ApplicationListener<ContextRefreshedEvent>的类报空指针异常。

原因:FeignClient初始化时,会注册一个新的FeignContext,然后导致NPE。该项目的容器初始过程有:FeignContext ---> web servlet context ---> application context。

所以解决NPE的方法就是执行FeignContext 初始化时,不执行ApplicationListener<ContextRefreshedEvent>中的onApplicationEvent方法。

FeignClient导致的空指针异常