开发者社区> 问答> 正文

spring 2.x初始化死锁问题。

spring 2.x初始化死锁问题。在spring解析到dubbo:service时,就已经向外暴露了服务,而spring还在接着初始化其他bean,如果这时有请求进来,并且服务的实现类里有调用applicationContext.getBean()的用法。getBean线程和spring初始化线程的锁的顺序不一样,导致了线程死锁,不能提供服务,启动不了。

本问题来自阿里云开发者社区的【11大垂直技术领域开发者社群】。 点击链接欢迎加入感兴趣的技术领域群。

展开
收起
游客pklijor6gytpx 2019-11-04 16:13:42 4035 0
2 条回答
写回答
取消 提交回答
  • 延迟暴露

    http://dubbo.apache.org/zh-cn/docs/user/demos/delay-publish.html

    2020-07-20 11:18:39
    赞同 展开评论 打赏
  • 不要在服务的实现类中使用applicationContext.getBean();如果不想依赖配置顺序,可以将dubbo:provider的deplay属性设置为-1,使dubbo在容器初始化完成后再暴露服务。

    2019-11-04 16:14:21
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多