java - 使 PAX(OSGI 测试)框架更快的技巧

标签 java pax pax-runner

我知道 PAX 正在做很多事情,并且创建容器和复制所有这些 jar 并不便宜,但是是否有任何提高性能的一般技巧。我的测试在容器外部执行只需不到一秒,而在容器内部则需要更长的时间。我使用 PAX 主要是为了验证我的 list 是否准确,并且该 bundle 可以在不丢失任何依赖项的情况下进行部署。我尝试过 Knopflerfish、Equinox、Felix,总体来说没有什么区别,它们对于准系统无容器运行来说相对较慢。

最佳答案

正如您所意识到的,底层容器并没有太大区别。

如果您想动态创建最少的 bundle ,您可以尝试 Pax Tinybundles :如果这适用于您的情况,您可以构建一组最小化的 bundle ,仅包含测试实际需要的内容。例如,您可以只打包您的 Manifest。我自己还没有为此特定目的对其进行基准测试,但值得一试。

作为旁注,请考虑 Pax Exam 2.3 引入了对 @Before 和 @After 的支持(请参阅 here ),从而为您提供更灵活的加载设置/拆卸。

关于java - 使 PAX(OSGI 测试)框架更快的技巧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7199637/

相关文章:

java - PAX-CDI : CdiContainerFactory and BundleTracker

jenkins - 在jenkins上持续部署基于OSGi的应用程序

apache-felix - OSGi 和传递依赖

java - 公共(public)数据库/dao 方法应该是静态的吗?

java - Apache Lucene - 创建和存储索引?

java - Spring REST 模拟上下文路径

java - 将类类型存储为变量以识别 java 列表中下一个预期的对象类型

jpa - Equinox OSGi + JPA Eclipselink + PAX JDBC 驱动程序适配器

osgi - 在 Apache Felix 中部署 war 文件?

maven-pax-provision + equinox : java. lang.Long 无法转换为 java.lang.String