假设你有一个带有各种视图的eclipse插件,这些视图应该显示来自将数据推送到视图的一些OSGi包的数据。我没有将所有视图与OSGi包进行通信,而是有一个中间Facade类,它充当视图的黑板并管理视图和其他OSGi包之间的通信 - 这就是理论。如何在eclipse声明性服务和视图之间进行通信(ContentProviders)
问题出现了,因为ui包(包含Views和Facade)使用Declarative Services与另一个包(称为DataStore)进行通信。由于Data Store接收来自另一个源的异步数据更新,因此需要将内容推送到Facade(以及其他包(如果可用))。 OSGi实例化Facade以满足DataStore的DS配置上基数的要求,但视图由插件的IApplication实现实例化。即使应用程序和Facade是同一个类,我也会得到两个不知道彼此的独立实例。
如何启用这些组件之间的通信(插件应用程序,视图等和OSGi实例化的Facade)?
我同意单身人士似乎是一个坏主意。我希望我能提供一个真正的解决方案。 – 2008-11-11 23:35:39