假設你有一個帶有各種視圖的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