一次单元测试引发的创建的eurekaClientConfigBean失败

4 篇文章 0 订阅

经过:在单元测试的时候需要通过多线程和fegin调用兄弟部门的接口,在单测得时候类似老接口能正常返回,但是在新的接口中确提示创建eurekaClientConfigBean失败的异常,将多线程改成单线程后能正常返回,老接口在多线程环境下依然可以正常返回,让提供方检测配置文件发现是一样,没有发现问题。最后查看了调用方的配置信息,发现依然是一样,最后将测试接口封装成controller的形式通过postman调用,发现能正常返回,此时排除是接口方提供的问题。

分析原因:是因为单元测试的时候 主线程先于子线程结束,主线程结束会销毁bean容器,此时子线程用bean调用fegin接口,就出错了:解决办法可以是让主线程强制休眠等待子线程全部执行结束;

异常提示信息:

Error creating bean with name 'eurekaRibbonClientConfiguration': Unsatisfied dependency expressed through field 'clientConfig'; nested exception is org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'eurekaClientConfigBean': Singleton bean creation not allowed while singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值