簡體   English   中英

Osgi捆綁更新和ResourceBundle

[英]Osgi Bundle update and ResourceBundle

恐怕我們有兩個osgi包:bundleA和bundleB。 在bundleB中,我們有一些texts.properties 因此,在bundleA中,我們這樣做

ResourceBundle rb= 
        ResourceBundle.getBundle("com/foo/texts",locale, classFromBundleB.getClassLoader());

現在,我們更新bunldeB或將其完全刪除,並安裝並啟動包含新版本texts.properties新版本。 還有兩個問題:

  1. 現有的“ rb”會怎樣? 它必須工作嗎?
  2. 如果在發布新版本的bundleB之后,我們執行與上述相同的代碼-我們會在rb看到texts.properties新版本嗎? 還是我們需要為此采取其他措施?

由於bundleA對classFromBundleB的引用,除非刷新bundleA,否則它將繼續從原始bundleB維護classFromBundleB。 而且由於ResourceBundle維護了一個緩存,您將獲得相同的rb。 因此,在更新bundleB之后,您將需要刷新依賴於bundleB中的類的bundle。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM