繁体   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