共勉
"诸君离学校而去了。在社会上立身的困难,恐怕比在学校里求学还要加甚。若非立志奋斗,则以前所受的教育,反足以增加人生的苦恼,或转为堕落的工具。这是诸君所当特别注意的。事业的成功,须经过长时间的辛苦艰难——成功的代价,走过了许多荆棘的路,方才能寻获康庄大道。立志是砍荆棘斧斤,奋斗是劳力。万不可希望以最少的劳力,获最大的成功。" -- 蒋梦麟
Knight's Blog
滴滴海浪技术主管, 前百度资深研发工程师,现居上海。 擅长于大规模的系统平台服务架构。在

- 亿级别搜索平台(sov5.cn)
- 大规模分布式爬虫
- 中间件架设(disconf,CanalX)
- 广告平台(百度联盟广告)
- 租车平台(滴滴租车)
- 语言招聘平台(51tra.com)
- 内容平台(100weidu.com)
- 社区平台(python88.com)
- 资源下载平台(misou.com)
- 计算机图形图像技术(一篇一作)
- 机器学习(一篇一作)

等领域具有颇有经验。
联系方式: knightliao AT gmail.com
联系
Knight's Blog » 工作

微服务下多个bunlde的交互问题

2015-11-19 22:32

spring启动时,会有一个父容器,然后根据有多少个 bundle 来生成 多个 子容器。每个子容器是并行的。是互相看不到对方的。但是他们都看得到父容器。

这里会出现一些问题

  1. 依赖的jar包中如果要获取spring容器,怎么办?直接获取父容器就可以了。
  2. 依赖的jar包中要扫描本容器的一些实现类,这在rpc框架中经常会遇到。这时依赖包如果还是使用父容器去获取bean就会找不到本容器的bean。因为父容器里没有子容器的数据啊。采取的办法是,依赖的jar要将所有context进行扫描(父容器和所有子容器),然后才可以获取bean.
  3. 自己的容器获取自己本身容器的context就行了。

总结起来,就是

  • 子容器只关心自己就好。
  • 依赖的jar包,如果需要扫描接口的所有实现类,则可能需要获取多个context
1007 次点击