![]() |
1
6
您真正拥有的是一个依赖层次问题,您提出的黑客解决方案实际上只是对底层问题的一个辅助。 您真正应该考虑的是系统的体系结构,实际上您拥有的是一个循环依赖关系(关于:在评论中讨论您的原始文章)。你有(喜欢与否)A需要B和C提供服务(在某种意义上取决于B和C)。同时,B和C直接依赖A,因此, 不能 开始直到A出现。 在最好的情况下,您可以用B和C编写代码来监听A的存在,但这充其量只是掩盖了(正如我提到的)基础问题。你真正应该考虑的是把A分成两个束,我们称之为A1和A2。 A1应提供B和C所需的接口(取决于)。A2应该有B和C所依赖的服务的侦听器。在启动时,如果B和C是必需的服务,A1必须运行,但A2可以在以后的任何时候启动,所有的工作都应该正常。 |
![]() |
2
0
我想我已经找到了解决这个问题的方法,尽管感觉有点老土。 我跑过去 this thread Adrian Colyer暗示,当捆绑包安装到框架中时,外部“捆绑包观察者”可能负责激活它们。 所以,我的解决方案是:
使用此方法,可以启动我想要启动的包,而不必使用
|
![]() |
3
0
还可以查看felix fileinstall,它监视一个目录中的捆绑包,并自动安装和启动它们。删除文件时,捆绑也将停止并卸载。 |