FeignClient导致的空指针异常
场景:在原有的Spring Boot环境中新增Consul服务,同时使用@FeignClient调用接口。
Bug:启动时,实现了接口ApplicationListener<ContextRefreshedEvent>的类报空指针异常。
原因:FeignClient初始化时,会注册一个新的FeignContext,然后导致NPE。该项目的容器初始过程有:FeignContext ---> web servlet context ---> application context。
所以解决NPE的方法就是执行FeignContext 初始化时,不执行ApplicationListener<ContextRefreshedEvent>中的onApplicationEvent方法。
说明:所有内容仅做学习记录