【问题标题】:Hawtio as an OSGI bundleHawtio 作为 OSGI 包
【发布时间】:2014-12-14 13:00:04
【问题描述】:

我们有自己的基于 karaf 的应用程序,最近我们决定将我们的 web 控制台作为插件迁移到 hawtio 上。是否有可能将 hawtio 作为 OSGI 捆绑包附加到我们的项目中?我已经下载了 hawtio 项目,但是没有打包模式为“bundle”或类似的 maven 模块。当然,我们可以选择获取 kar 存档文件,将其解压缩并使用它的捆绑包。但这根本不是原生方式。谢谢!

【问题讨论】:

    标签: osgi apache-karaf hawtio


    【解决方案1】:

    您好,您是否尝试使用 maven 存储库中提供的最新 Hawtio for karaf (hawtio-karaf)

    http://search.maven.org/#artifactdetails|io.hawt|hawtio-karaf|1.4.26|jar

    它提供了一个features.xml,可以安装在Karaf上。

    • 首先:在本地 maven 存储库上安装所有内容。

    • 第二步:启动你的 karaf。

    • 第三:运行命令:feature:repo-add mvn:io.hawt/hawtio-karaf/1.4.26/xml/features

    • 第四:运行命令:feature:install hawtio

    根据官网,默认网址为:http://localhost:8181/hawtio/

    让我知道它是否按预期工作。

    【讨论】:

    • 您好,感谢您的回复。可能是我没有以正确的方式解释它。我们不需要将 hawtio 作为 karaf 功能。我们需要一个包含所有导入/导出部分的 OSGI 就绪包(jar)。此外,我们可能能够将 hawtio 注入到任何 OSGI 容器中,不仅是 felix/karaf,而且在 pax 考试或Equinox 等中。似乎没有快速直接的方法来完成这些事情而不需要额外的操作,我们将自己实现它(并且肯定会提出拉取请求:),对)。
    • 可能没有简单的方法...您可以调查一下“features.xml”以了解什么是强制性 jar 和战争,并尝试使用“创建一个大的胖 jar/战争” maven-bundle-plugin'。
    • 是的,看起来是这样。但这是一种肮脏的方法——创建您自己的此类 java 工具的副本并始终将其保留在您的项目中,而无法使用一些新的第三方插件和功能对其进行更新和扩展。
    【解决方案2】:

    独立单元测试没有干净的解决方案,但 apache karaf 为这种情况提供了考试环境 - http://karaf.apache.org/manual/latest/developers-guide/writing-tests.html 所以我们可以在开发模式下使用我们的应用程序和 hawtio 运行测试。 在生产中,这种功能泄漏是不存在的。

    【讨论】:

      猜你喜欢
      • 2011-10-21
      • 1970-01-01
      • 2015-01-14
      • 2013-12-14
      • 1970-01-01
      • 2015-12-13
      • 1970-01-01
      • 2015-07-26
      • 2011-09-30
      相关资源
      最近更新 更多