【问题标题】:What does org.osgi.framework.storage.clean=onFirstInit mean in context of the Apache Felix OSGi implementation?org.osgi.framework.storage.clean=onFirstInit 在 Apache Felix OSGi 实现的上下文中是什么意思?
【发布时间】:2014-12-05 22:16:47
【问题描述】:

我试图弄清楚 org.osgi.framework.storage.clean=onFirstInit 在 Felix 框架的上下文中的真正含义。

根据 OSGi 规范:

org.osgi.framework.storage: 文件系统中的有效文件路径 目录...框架可以随意使用它所看到的这个目录 fit,例如,完全擦除其中的所有文件和目录...

org.osgi.framework.storage.clean: 指定是否以及何时存储 应清洁框架区域。如果没有指定值, 框架存储区域不会被清理。

由于根据规范,框架可以随意使用此目录,因此不清楚当 OSGi 规范声明应该清理存储区域时是什么意思。对于每个 OSGi 实现,清理可能意味着不同的东西。

Apache Felix documentation 声明:

onFirstInit 在框架实例运行时刷新包缓存 首先初始化。

特定于 Felix 文档:

  1. “刷新捆绑缓存”是什么意思?刷新是否与删除存储目录然后从头开始重建相同?所以它与rm -rf felix-cache 相同,而 Felix 容器已关闭,以便在启动时重建缓存,就好像这是第一次启动容器一样?
  2. “首次初始化框架实例时”是什么意思?这是否意味着第一次框架仅在容器第一次启动时才被初始化?还是说每次重启容器时都会第一次初始化框架?

【问题讨论】:

    标签: osgi apache-felix


    【解决方案1】:

    “刷新捆绑缓存”是什么意思?

    表示删除org.osgi.framework.storage指定的目录

    刷新与删除存储目录然后从头开始重建它是否相同?

    是的

    所以在 Felix 容器关闭时它与 rm -rf felix-cache 相同,以便在启动时重建缓存,就好像这是第一次启动容器一样?

    是的

    当它说“首次初始化框架实例时”是什么意思?

    Bundles 可以被初始化多次。该语句表示该目录应该只在 JVM 启动后的第一次被删除,而不是在系统包被初始化的后续时间。

    这是否意味着第一次框架只在容器第一次启动时才被初始化?还是说每次重启容器时都会第一次初始化框架?

    表示每次重新启动容器时第一次初始化框架

    【讨论】:

      猜你喜欢
      • 2016-08-03
      • 1970-01-01
      • 2014-11-10
      • 1970-01-01
      • 2015-09-08
      • 1970-01-01
      • 2011-06-11
      • 1970-01-01
      • 2018-05-14
      相关资源
      最近更新 更多