项目中台服务中对外暴露了多个微服务接口,例如有订单相关,有库存相关的,由于写代码时并没有注意,出现相互依赖的情况:
ServiceA中有:
@Reference
ServiceB serviceB;
ServiceB中同样要使用到ServiceA中的接口:
@Reference
ServiceA serviceA;
所以就出现循环依赖问题,导致服务启动异常。
因为是都在一个微服务内,所以接口或服务调用时不需要用微服务形式,而应该修改为:
@Autowire
ServiceB serviceB;
和
@Autowire
ServiceA serviceA;
这种形式。修改完重新打包部署,服务恢复正常。