0

我目前正在决定在从 IDE 运行 OSGi 应用程序时使用哪个 pax 执行程序(请参阅http://paxrunner.ops4j.org/space/Executors以获得可用的列表)。当我想使用 pax runner 从 IDE 运行进程时,基本上有两种选择:

In-Process-Executor(在与 Pax Runner 本身相同的 Java 进程中运行 OSGi 进程):

  • PRO:易于附加调试器。
  • PRO:很容易杀死 OSGi 进程,因为没有启动第二个 Java VM。
  • PRO:启动速度更快。

  • CON:严重限制 paxrunner 对非 javaVM 设置的功能(来自 Pax Runner 的文档)。

默认执行器:(在新的 Java 进程中运行 OSGi 进程)

  • PRO:使 Pax Runner 能够设置各种 JavaVM 设置。

  • CON:更难附加调试器(需要一些远程调试设置)。

  • 缺点:如果 Pax Runner 没有正确执行,几乎不可能杀死 OSGi 进程。
  • CON : 随着两个 JVM 的启动,启动时间更长。

所以我的问题基本上是,如果有人遇到 Pax Runner 的 JVM 设置功能至关重要并且 OSGi 进程在使用进程内执行程序时无法工作的情况。我还没有找到这样的例子,但是我需要确定我是否支持进程内执行程序、默认执行程序或两者都支持,所以一些利用默认执行程序的 JVM 设置功能的实际用例将真正帮助我做出那个决定。

4

1 回答 1

0

If the reason you start Pax runner from IDE is for Testing, have a look at Pax Exam, which also (optionally) uses Pax Runner underneath. Then you don't need to worry too much.

于 2011-04-20T13:43:50.110 回答