用于启动依赖服务的设计模式

时间:2014-02-26 07:24:52

标签: java design-patterns dependency-injection guice

假设我们拥有一个服务,该服务依赖于一组明确的其他服务,并且可以在此服务初始化和启动之前启动。通过google guice大量使用DI,我们将服务本身与其所依赖的具体服务分离。但后来谁负责

  1. 获取相关服务列表?
  2. 当他们注入现有服务时,确保他们处于正确状态?
  3. 定义guice模块以列出依赖服务似乎是一种好方法,显然可以在每个特定情况下编写代码以确保启动顺序 - 但是这些类型的问题是否存在已建立的/通用设计模式?

1 个答案:

答案 0 :(得分:2)

您可能需要查看HK2 Run Level Service。可以将HK2运行级别服务与Guice Bridge结合使用,以在Guice中实现运行级服务。

RunLevel服务允许您获得仅在系统达到某个状态后才出现的服务,而不是必须在代码中明确列出所有依赖项(可能只是函数依赖项,而不是java级依赖项)