使用CoreOptions.bundle与CoreOptions.mavenBundle时的性能令人沮丧

时间:2015-04-15 21:09:24

标签: pax-exam

我发现当我使用org.ops4j.pax.exam.CoreOptions.mavenBundle从maven存储库部署bundle时,部署只需不到一分钟,但是当我使用org.ops4j.pax部署相同的bundle时。 exam.CoreOptions.bundle,指定一个文件:url到本地文件系统上的bundle,部署需要8分钟。我期望CoreOptions.bundle更快,因为它访问本地文件。在使用CoreOptions.bundle时,我可以做些什么来加速部署?

以下是我正在使用的版本:

<dependency>
  <groupId>org.ops4j.pax.exam</groupId>
  <artifactId>pax-exam-container-karaf</artifactId>
  <version>4.4.0</version>
</dependency>
<dependency>
  <groupId>org.ops4j.pax.exam</groupId>
  <artifactId>pax-exam-junit4</artifactId>
  <version>4.4.0</version>
</dependency>
<dependency>
  <groupId>org.ops4j.pax.exam</groupId>
  <artifactId>pax-exam</artifactId>
  <version>4.4.0</version>
</dependency>
<dependency>
  <groupId>org.ops4j.pax.url</groupId>
  <artifactId>pax-url-aether</artifactId>
  <version>2.4.0</version>
</dependency>

以下是我用于从文件系统部署捆绑包的代码:

// Inject our local bundle dependencies
URI deployBundlesDirUri = new File(deployBundlesDir).toURI();
for (String bundle : localBundles) {
    String name = deployBundlesDirUri.resolve(bundle).toString();
    options.add(bundle(name).start());
}

以下是我从maven repo部署相同捆绑包时使用的代码:

// Inject our maven dependencies
for (String[] dep : mavenDependencies) {
    options.add(mavenBundle()
           .groupId(dep[0])
           .artifactId(dep[1])
           .versionAsInProject().update(true).start()
    );
}

0 个答案:

没有答案