java - 部署 bundle 时 Apache-karaf 容器的性能

标签 java osgi apache-karaf osgi-bundle

我创建了一个 osgi 包并使用 Apache-karaf 作为 osgi 容器。我正在通过放置日志并将其放入部署文件夹来部署应用程序来测试应用程序。一切正常。在进行测试时,包 ID 会增加,并且在部署应用程序时进行一些迭代后,激活方法会被调用两次。我已经在新的 apache-karaf 中验证了相同的情况,它按预期工作,激活方法仅被调用一次。 注意:该 bundle 是带有一些简单打印语句的应用程序。

1. Is this performance issue in Apache-karaf container for reaching more number of bundle ids or kind of caching problem in apache-karaf.
2. Is this problem with deploying the bundle in deploy folder instead of osgi:install?

最佳答案

部署文件夹存在一些问题。它由 felix fileinstall 监控。因此,它检查文件系统时的时间表将决定它的 react 。

使用bundle:install 更加可靠,并且非常适合测试。使用 maven install 将 bundle 简单部署到本地 Maven 存储库。然后使用 mvn:groupId/rtifactId/version url 将其安装到 karaf 中。

如果您随后更改了 bundle ,您只需再次使用 maven install 上传它并进行更新即可。这将从您本地的 Maven 存储库重新加载。

如果您使用 maven -SNAPSHOT 版本(您应该这样做),那么您也可以使用 bundle:watch *。然后 Karaf 将在本地 Maven 存储库中查找更改并自动更新 bundle 。

关于java - 部署 bundle 时 Apache-karaf 容器的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33279029/

相关文章:

java - 关于java实习生

java - Spring boot JPA空指针异常

java - 预装 pax-jdbc-oracle 的自定义 Apache Karaf 4.0.4 发行版

apache-camel - Fuse 中 Camel 类型转换失败

java - 术语 "Instance variable"和 "variables declared in Interfaces"之间的区别

java - 包装库特定对象的最佳设计模式?

java - 不根据 java 系统属性激活 OSGI 声明性服务

dependency-injection - bundle 中的蓝图依赖注入(inject)

maven - 计划在 maven-bundle-plugin 中支持 "Require-Bundle"

java - Apache Karaf(也许是 java)在不同服务器上的不同行为