我有4项服务。每个人都依赖于其他人,例如,如果服务A开始则B和C,如果B开始则可以开始。如果A-> B和C,如果B-> D.我设法创建了他们的start()和stop()方法,但我只是不知道如何在它们之间建立依赖关系。我正在考虑向ChechRequirements类服务发送他必须运行的服务以及该服务所依赖的服务列表,如果该列表等于当前运行的列表,他可以像其他人一样在该服务之前启动。这是一个好主意还是你有另一个?
非常感谢
答案 0 :(得分:1)
我建议你依赖一个经过批准的框架,比如OSGi(以及他的Apache Felix实现)。
如果您因任何原因希望保留自己的框架,我建议您根据这些步骤设计和设置生命周期管理:
然后,当启动依赖于另一个服务的服务时,您必须升级依赖状态。当停止依赖时,你必须降低依赖服务的状态。