我的項目中存在一個小問題。 我們爲我們的服務器開發一個客戶端作爲eclipse插件。在Eclipse中使用指定的類加載器加載單例子
在那裏,我們有我們的'ApplicationRegistry',它只是一張地圖,它只包含我們需要的所有對象一次,但不應該是單身。這個ApplicationRegistry是作爲enum單例實現的,以及另一個插件中的其他東西。到目前爲止一切正常。
現在,客戶需要不同的'視角',它們顯示出略有不同的特徵。這也沒有問題。到目前爲止,我們只有兩個runnables和兩個不同的菜單條目來啓動兩個不同的類,但將它們分成兩個或三個插件是沒有問題的(可能會更好)。
現在我來回答這個問題:我們可以同時運行這兩種觀點。但ApplicationRegistry是由它自己的插件的類加載器創建的,因此我們所有的觀點都存在一次。因此,當我們嘗試在第一個視角中打開新選項卡時,它會在第二個視圖中打開。長話短說:插件'parent1'和'parent2'在插件'child'中使用單例,並以不希望的方式相互影響。 我的想法是使用自己的類加載器在每個父插件中加載單例。但由於我不知道如何使用指定的類加載器加載枚舉單例,我無法驗證此解決方案是否可以實現。
任何人都可以告訴我如何使用指定的類加載器加載枚舉單例(如果正確的ApplicationRegistry會在每個插件中得到解決),如果這可以工作,或者如果有另一個解決方案不涉及巨大在整個項目中重新設計?
感謝, 塞巴斯蒂安
那麼,這將導致這麼大的重新設計,我試圖避免,因爲我將不得不適應每一個電話。據我所知,我希望有一個簡單而乾淨的可能性,因爲網絡服務器完成了類似的事情。 – snieke